Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Zahlen im englischen Format darstellen ( Tausender und Dezimaltrennzeichen)

Begonnen von skorwi, Februar 10, 2011, 14:05:59

⏪ vorheriges - nächstes ⏩

skorwi

Hallo,

ich habe folgendes Problem.
ICh habe ein Formular, in welchem ich die Felder in einem anderen (englischen) Zahlenformat darstellen muss (englisches Zahlenformat = 1,000.00 anstatt 1.000,00)
Habt Ihr eine Idee, wie ich das hinbekommen kann - bin nach langem Suchen ziemlich ratlos.

Vielen Dank schon mal für Eure Hilfe

René

database

Hallo,

eine Möglichkeit wäre das per VBA zu regeln.

Dazu erstelle ein Modul und füge in dieses folgenden Code ein:


Public Function Formatieren(ByVal zahl As String) As String

    Dim strZahl As String
    strZahl = Replace(zahl, ",", "*")
    strZahl = Replace(strZahl, ".", ",")
    strZahl = Replace(strZahl, "*", ".")
    Formatieren = strZahl

End Function


Dann schreibst du in Ereignis 'Nach Aktualisierung' des relevanten Feldes:


Private Sub DeinFeld_AfterUpdate()

    Me!DeinFeld = Formatieren(CStr(Me!DeinFeld))

End Sub


sollte dann die entsprechende Formatierung darstellen.
Bei den Textboxen darf aber KEIN Format (weder Ein- naoch Ausgabeformat) eingestellt werden!

HTH

Jonny

Hallo,

bei der Antwort von Peter bekommst Du die richtige Dahrstellung aber
Vorsicht Rechnen kannst Du dann meiner Meinung nach damit nicht mehr.

Gruß

Johann

database

Hallo

@jonny
stimmt, dazu müsste die Zahl wieder reformatiert werden.

Allerdings muss auch beachtet werden, dass die Formatierung im Fall von gebundenen Feldern die Tabellenwerte ändert!
Ich würde daher dringend empfehlen diese nur auf ungebundene Felder zum Zweck der Anzeige anzuwenden!

skorwi

Hallo Peter,

vielen Dank für Deine Hilfe.
Bei dem Formular hat das super geklappt.
Nun aber noch eine Frage dazu.
Wenn ich das dann auch noch bei einem Report machen müsste, wie würde ich da vorgehen.
Weil mit dem afterUpdate geht ja da nicht, oder?
Beim Formatieren ist auch schwierig, weil man kann da in nem Report dem Feld keinen Wert zuweisen.

Wie gesagt - vielen Dank für die Hilfe

René

MzKlMu

Hallo,
ZitatBeim Formatieren ist auch schwierig, weil man kann da in nem Report dem Feld keinen Wert zuweisen.
Beim Formatieren passt (ist auch die einige Möglichkeit) und selbstvertändlich kannst Du dem Feld auch in einem Bericht einen Wert zuweisen.
Gruß Klaus

skorwi

Hallo,

stimmt - war mein Fehler. Ich hatte in der Schnelle vergessen den Datensatzherkunft zu löschen.
Das mit dem. anstelle vom Komma macht er jetzt auch super nur das mit dem , las Tausendertrenner macht er nicht wirklich.
Er schreibt die Zahl ohne irgend einen Trenner hin
Habt Ihr dazu noch eine Idee?

Vielen Dank schon mal

René

bahasu

Moin Rene,

vielleicht kommst Du mit den Zeilen aus dem Anhang weiter.
Harald

[Anhang gelöscht durch Administrator]
Servus

skorwi

Hallo,

Vielen Dank für Eure Hilfe ich hab jetzt beides kombiniert und habe die Lösung :-)

Aaaalso in einem Modul habe ich folgenden Code drin:
Public Function Formatieren(ByVal zahl As String) As String

    Dim strZahl As String
    strZahl = Format(zahl, "#,##0.##")
    strZahl = Replace(strZahl, ",", "&")
    strZahl = Replace(strZahl, ".", ",")
    strZahl = Replace(strZahl, "&", ".")
   
   
    Formatieren = strZahl

End Function

Und beim formatiern des Berichtes spreche ich die Funktion nur immer an:

Me.Text152 = Formatieren([meinezahl])

Vielen Dank nochmal an alle.

Wir sollten das gut aufheben denn wie ich bei meinen Recherchen herausgefunden habe wird dies öfter gesucht :-)

Ich wünsche Euch ein schönes Wochenende

Viele Grüße

René