=?ISO-8859-1?Q?Formatfrage:_Auff=FCllen_mit_Nullen??=

04/01/2008 - 09:50 von Joe Saccone | Report spam
Hallo zusammen,

erstmal wünsch ich allen ein gutes neues Jahr 2008, es kann nur besser
werden! :-)

Folgende Frage für Access 2003 SP2: ich habe ein Text-Feld in welchem
ich Zahlenwerte drin stehen habe. Nun möchte ich alle diese Werte in
ein einheitliches Format mit einheitlicher Lànge bringen, nàmlich 12N.
5N, also 12 numerische Zeichen, dann ein Dezimalpunkt, und dann 5
Nachkommastellen.

Beispiele:
Ausgangszahl gewünschtes Ergebnis
5555 000000005555.00000
300500.077 000000300500.07700

Mit anderen Worten, es handelt sich immer um exakt 18 Zeichen,
entsprechend sollen fehlende Zeichen mit Nullen aufgefüllt werden.

Wie kann ich so etwas realisieren? Kann man die Felder irgendwie
parametrisieren, so dass die bestehenden Werte entsprechend gewandelt
werden, oder muss ich das durch Queries realisieren?

Danke für jeden Tipp!

Schöne Grüsse
JoeS
 

Lesen sie die antworten

#1 Henry Habermacher
04/01/2008 - 10:06 | Warnen spam
Hallo Joe

Joe Saccone wrote:
Folgende Frage für Access 2003 SP2: ich habe ein Text-Feld in welchem
ich Zahlenwerte drin stehen habe. Nun möchte ich alle diese Werte in
ein einheitliches Format mit einheitlicher Lànge bringen, nàmlich 12N.
5N, also 12 numerische Zeichen, dann ein Dezimalpunkt, und dann 5
Nachkommastellen.

Beispiele:
Ausgangszahl gewünschtes Ergebnis
5555 000000005555.00000
300500.077 000000300500.07700

Mit anderen Worten, es handelt sich immer um exakt 18 Zeichen,
entsprechend sollen fehlende Zeichen mit Nullen aufgefüllt werden.

Wie kann ich so etwas realisieren? Kann man die Felder irgendwie
parametrisieren, so dass die bestehenden Werte entsprechend gewandelt
werden, oder muss ich das durch Queries realisieren?




Beispiel für's Direktfenster von VBA

DeineZahl3.456 : Vorher = 12 : Nachher = 5 : _
? Format(DeineZahl, String(Vorher, "0") & "." & String(Nachher, "0"))
000000000123.45600

Falls Du die Stellen nicht parametrisierbar haben willst, dann wird es
wesentlich einfacher:

DeineZahl3.456 : ? Format(DeineZahl, "000000000000.00000")

Geht auch in Queries:

SELECT Format(DeineZahl, "000000000000.00000")
FROM DeineTabelle

Und falls DeineZahl im Falle, dass diese NULL drin hat nicht leer daher
kommen soll:
SELECT Format(Nz(DeineZahl, 0), "000000000000.00000")
FROM DeineTabelle

Details siehe Fromat() und String() Funktion in der VBA OH.

Gruss
Henry




Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen