Dynamisches Währungsformat

Hallo!
Ich habe eine Tabelle mit Zahlungsbeträgen und Datum der Zahlung. Da diese Liste schon viele Jahre alt ist, habe ich im Feld BETRAG sowohl DM als auch EUR-Werte. Stelle ich das Feld auf „Währung“ ein, werden (u.a. im Endlos-Formular) alle Beträge als EURO-Beträge abgezeigt.
Gibt es eine Möglichkeit, das Währungszeichen abhängig zu machen von einem anderen Feld (Datum der Bezahlung)?
Also:
wenn [DatumBezahlung]

Guten Tag.

Ich würde einen ganz anderen Weg gehen (aus grundsätzlichen Überlegungen heraus).

Und zwar eine Hilfstabelle mit Währungen anlegen, in der die beiden jetzt vorhandenen (EUR und DEM) abzulegen sind - diese Tabelle enthält also zunächst nur zwei Datensätze.

Die Beträge selbst würde ich in einem ganz normalen numerischen Feld ablegen (Standardzahl mit zwei Nachkommastellen) und dem Datensatz jeweils einen Fremdschlüssel „Währung“ mit Bezug auf obige Tabelle verpassen. Die Zuordnung des richtigen Fremdschlüssels bekommst du einfach per Abfrage [Datum]„DEM“, sonst „EUR“.

Und warum das Ganze? Nun, zum einen kommt das Währungsformat aus der Windows-Systemsteuerung, ist also starr, so dass du im Prinzip ohne Klimmzüge immer nur eine Währung darstellen kannst. Zum anderen aber bist du dagegen gefeit, dass irgendwann einmal eine Rechnung/Buchung/sonstwas in Dollar oder in guatemaltekischen Tollkirschen kommt und dir deine DB wieder verstrubbelt. Außerdem kannst du mit der oben beschrobenen Struktur auch übergreifend rechnen, indem du einfach den Umrechnungsfaktor einsetzest (1,95583 - eine Zahl, die ich wohl noch auf dem Totenbett hersagen können werde ;-]).

GEK

Hallo Herr Kaiser,
vielen Dank für Ihre schnelle Antwort, zu der ich mich leider jetzt erst äußern kann.
Es mag sein, dass ich an temporärer Gehirnerweichung leide, aber es ist mir noch nicht ganz klar.
Ich muss dazu sagen, dass ich wirklich kein Experte bin, aber so wie ich Sie verstehe, habe ich dann das Währungsformat in einem separaten Feld, richtig?
Wie bekomme ich es hin, dass er mir die Zahl des Betrages IN DEM WERTE-FELD mit der korrekten Währung anzeigt? Also, ich möchte einen Wert eingeben (z.B. 123,45) und beim Verlassen des Feldes soll er mir das als „123,45 EUR“ anzeigen (solange der Wert im Datumsfeld größer als 01.01.2002 ist).
Können Sie oder jemand anders nochmal helfen? Irgendwie stehe ich gerade gewaltig auf dem Schlauch… .

Hallo,

… aber
so wie ich Sie verstehe, habe ich dann das Währungsformat in
einem separaten Feld, richtig?

Das ist richtig und auch sehr empfehlenswert.
Ich kann dem Vorschlag von GEK nur voll und ganz zustimmen.

Wie bekomme ich es hin, dass er mir die Zahl des Betrages IN
DEM WERTE-FELD mit der korrekten Währung anzeigt?

Warum? Welchen triftigen Grund gibt es dafür?

Also, ich
möchte einen Wert eingeben (z.B. 123,45) und beim Verlassen
des Feldes soll er mir das als „123,45 EUR“ anzeigen (solange
der Wert im Datumsfeld größer als 01.01.2002 ist).

Etwa so:

Private Sub Wertefeld_Enter()
If Me!Datumsfeld >= #1/1/2002# Then
Me!Wertefeld.Format = „#,##0.00 €“
Else
Me!Wertefeld.Format = „#,##0.00 DM“
End If
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo df6gl,

Wie bekomme ich es hin, dass er mir die Zahl des Betrages IN
DEM WERTE-FELD mit der korrekten Währung anzeigt?

Warum? Welchen triftigen Grund gibt es dafür?

weil es einfach hübscher aussieht.

Ich habe es nun so gelöst: Ich habe zwei zusätzliche Felder eingebaut: WAEHRUNG und FW_WERT (für Fremdwährung). Für alle bestehenden Datensätze habe ich diese Felder nachträglich gefüllt: bei DM-Werten (also Datensätzen von vor 2002) habe ich in WAEHRUNG ein DM und im Feld FW_WERT den Original-Betrag. In meinem Werte-Feld (BETRAG) nun habe ich den Fremdwährungs-Betrag in EURO umgerechnet.
Bei Neueingabe wird als Standardwert WAEHRUNG EUR erfasst, wenn hier etwas anderes eingegeben wird, wird aus einer anderen Tabelle (tab_waehrungskurse) der Umrechnungskrus verwendet um den FW_Wert in EUR umzurechnen und im Feld BETRAG abzulegen.

Das Feld BETRAG hat als Format Währung (also hübsch mit Euro-Zeichen).

Danke an Euch für die Hilfe.