Supportnet / Forum / Datenbanken
Dezimalzahl in Abfrage
Frage
Ich hab jetzt auch mal eine Frage:
In einer Aktualisierungsabfrage lese ich per VBA Feldwerte aus einem Formular aus. Zwei dieser Werte sind im Format Euro, vorgegeben durch die Formateinstellung der Textfelder, ebenso sind die Tabellenfelder, in die geschrieben werden soll im Euro-Format.
Stehen in einem Feld jetzt aber Beträge wie z.B. 100,99 €, bekomme ich einen Syntaxfehler, weil das Komma als SQL-Trennzeichen interpretiert wird.
In Hochkommas kann ich die Werte nicht setzen, da diese dann als varchar gelten und die Tabellenfelder in Euro formatiert sind.
Weiß da vielleicht jemand eine passable Lösung? Es gibt zwar die Möglichkeit, Punkte bei Zahlen in Kommas umzuwandeln, aber geht das auch umgekehrt?
Antwort 1 von Phantom_Fies
wieder hoch
Antwort 2 von MickK
Ich habe mir für dieses Problem eine kleine Funktion geschrieben:
Die kann man dann im Sql wie folgt verwenden:
"INSERT TO tabelle(EURO) VALUES(" & SQLSingle(3,51) & ");"
Gruss
Mick
Function SQLSingle(uwert) As Variant
Dim zWert As Single
Dim szwert As Variant
Dim i As Integer
On Error Resume Next
szwert = CStr(uwert)
i = 0
i = InStr(szwert, ",")
If i > 0 Then
Mid$(szwert, i, 1) = "."
End If
SQLSingle = szwert
End Function
Die kann man dann im Sql wie folgt verwenden:
"INSERT TO tabelle(EURO) VALUES(" & SQLSingle(3,51) & ");"
Gruss
Mick
Antwort 3 von Phantom_Fies
Danke!!

