Beitrag aus SmartTools Access Weekly
Dezimalzahlen ohne Trennzeichen exportieren
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Ich habe eine ganz besondere Anforderung für den Datenexport. Daher möchte ich in meiner Access-Datenbank über eine Abfrage Dezimalzahlen mit Tausendertrennzeichen und 2 Dezimalstellen als 16-stellige Zeichenkette für die Weiterverarbeitung in einer anderen Software exportieren. Mit "Format(Wert, "000000000000000)" komme ich hier einfach nicht weiter; es werden dann immer die Nachkommastellen unterdrückt. Haben Sie eine Lösung?
D. Otte
ANTWORT Kopieren Sie folgende Funktion in ein VBA-Modul:
Function DecToStr(aValue As Variant) As String
Dim X$
X$= CStr(aValue)
X$ = Replace(X$, ",", "") 'Alle Kommas löschen
X$ = Replace(X$, ".", "") 'Alle Punkte löschen
While Len(X$) < 16 'Führende Nullen hinzufügen
X$ = "0" & X$
Wend
DecToStr = X$
End Function
Der als Parameter "aValue" übergebene Wert wird zunächst in einen String "X$" konvertiert. Mit "Replace()" löschen wir Kommas und Punkte. Das bereinigte Ergebnis bildet das Funktionsergebnis. In der Export-Abfrage geben Sie dann in einer leeren Spalte des Abfrageentwurfs den folgenden Ausdruck ein:
Exp16Str: DecToStr([Feldname])
"Exp16Str" ersetzen Sie durch den gewünschten Feldnamen im Exportergebnis. "Feldname" ist der Name des Feldes, dessen Inhalt umgesetzt werden soll.