Supportnet Computer
Planet of Tech

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:

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!!



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: