Hallo Forum,
kleines Problem, daher kurze Anfrage:
Ein Listenfeld aus drei Spalten wird durch eine dahinterliegende Abfrage gefüllt. In dieser Abfrage ist ein berechneter Wert enthalten ( Latest: [Ertrag] / Monatszahl * 12 ). Der so errechnete Jahresertrag soll in der Liste als Währung ausgegeben werden. In den Feldeigenschaften habe ich also "Währung" angegeben und die Abfrage so durchgeführt. Alles funktioniert. Schließe ich nun die Abfrage und gehe in die Formularansicht wird die Zahl in der Liste nicht als Währung angezeigt. Gehe ich danach wieder in die Entwurfsansicht der Liste ist die Währungs-Einstellung wieder verschwunden.
Woran könnte das liegen?
Danke
Michael
Hallo,
versuch das so:
Latest: Format([Ertrag] / Monatszahl * 12;"#0,00 \€")
So hat's funktioniert, besten Dank - muss ich das verstehen? Gibt es eine Erklärung dafür, dass die Feldeigenschaften immer wieder rausgeflogen sind?
Jedenfalls Danke für die schnelle Hilfe!
Michael
Hallo,
und ich versteh nicht so genau die Beschreibung.. WO hast Du nun das Format angegeben? Im Abfrageentwurf in den Eigenschaften der betroffenen Spalte oder irgendwo im Listenfeld... (Das Listenfeld hat gar keine Format-Einstellungen für seine einzelnen Spalten.).
Wenn ich bei mir in einer Abfrage eine Spalte mit einem Format einstelle, dann bleibt dieses so bestehen und wird auch in der korrespondierenden Listenfeld-Spalte so dargestellt.
@Mr. Ahnungslos
Die eigentliche Erklärung lautet so: Es gibt eine Format-EIGENSCHAFT und eine Format-ANWEISUNG.
Die Format-Eigenschaft ändert nur die Anzeige, aber nicht den real vorliegenden Wert. Ganz augenfällig ist das bei Datums-/Zeitwerten. Jetzt (= 26.01.2014 14:55:30) könntest Du Dir anzeigen lassen als Datum, als Wochentag, als Kalenderwoche, als Quartalszahl, als Stunde usw. Du kannst aber mit dem Wert wie gewohnt weiterrechnen, z.B. eine Stunde oder einen Tag hinzuzählen, oder mit diesem Wert eine Zeitraumfilterung auf ein Tabellenfeld machen.
Die Format-Anweisung erzeugt einen String mit Inhalt des Formats und somit einen neuen Wert, schon alleine durch den geänderten Datentyp und damit verbundene Konsequenzen - auch wenn es manchmal ziemlich ähnlich aussieht.
Bei der Weitergabe (an Listenfeld, Export) werden nun i.d.R. nur die Werte und nicht die Formate weitergegeben, so dass dann an verwendeter Stelle separat eine gewünschte Formatierung eingestellt wird, falls das möglich ist.
Gibt man den per Anweisung erzeugten Formatstring weiter, wird der Text natürlich immer als solcher angezeigt. Hier muss man dann aber schauen, ob dieser String an Ort und Stelle wieder als richtiger(!) Wert interpretiert werden kann.
Hallo,
ZitatBei der Weitergabe (an Listenfeld, Export) werden nun i.d.R. nur die Werte und nicht die Formate weitergegeben, so dass dann an verwendeter Stelle separat eine gewünschte Formatierung eingestellt wird, falls das möglich ist.
Hätte ich auch so angenommen, ein Test aber mit A2010 32b zeigt, dass eine mit einem Format in der Format-Eigenschaft eingestellte Abfragespalte auch so im Listenfeld dargestellt wird. Ich habe das aber nur mit "Währung" getestet, nicht mit einem Datumsformat..
Hallo Franz,
das funktioniert auch mit den Datumsformaten so.
Hi,
ja, danke für die Info..
Trotzdem rate ich auch davon ab, solche, möglicherweise von irgendwelchen Versionen abhängige und ansonsten unerwartete Formatierungen für eine "schöne Ansicht" zu verwenden. Irgendwann wundert man sich, dass dann plötzlich "$" statt "€" steht.. ;D
Guten Morgen,
da gebe ich dir uneingeschränkt recht.
Die Formatierung auf SQL-Ebene ist zu dem auch immer leicht(er) erkennbar, bei Um-/Einstellung der Formateigenschaft ist das nicht immer gleich erkennbar.
Besonders 'gefährlich' wird es dann, wenn die formatierten Werte durch Listenfeld.Column(x) ausgelesen und blind weiterverarbeitet werden (sollen) ...