Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Problem mit SQL-Abfrage per VBA mit einer Kommazahl

Begonnen von tragger, Juli 16, 2012, 18:17:25

⏪ vorheriges - nächstes ⏩

tragger

Hallo Programmierergemeinde,

leider habe ich mal wieder ein Problem, dass ich nicht alleine gelöst bekomme. Einen großen Teil hierfür habe ich bereits gefunden.

Hier ist der Code:
SQL2 = " SELECT * FROM qryGuthabenstorno"
            SQL2 = SQL2 & " WHERE Nettoguthaben = value "
            SQL2 = SQL2 & " WHERE Buchungstext ='" & text & "'"
            SQL2 = SQL2 & " AND Storniert = False"
            SQL2 = SQL2 & " AND Rechnung_Anlage = True"
            SQL2 = SQL2 & " ORDER BY GSNR;"
            Set rs2 = db.OpenRecordset(SQL2)


Dabei ist value z.Zt. ein Double und text ein String.

Die Abfrage mit dem Nettoguthaben klappt leider nicht. in Value wird ein Wert gespeichert, der aus einem Zahlenfeld kommt und die Form 5,01 oder 150,1 haben kann. In Nettoguthaben gibt es Datensätze mit dem selben Inhalt, die ich nun finden muss.

Ich habe bereits auch die Einstellung als String (für value) probiert, variant (für value) und so weiter. Aktuelle Fehlermeldung ist
ZitatLaufzeitfehler 3061, 1 Parameter wurde erwartet, aber es wurden zu wewnige Parameter übergeben

Ich habe diese problematische Zeile mal auskommentiert, dann liegt kein Fehler vor.

Ich hoffe auch eure Hilfe und danke schon mal für die Antworten!

ebs17

#1
SQL2 = SQL2 & " WHERE Nettoguthaben = " & Str(Doublevariable)

Übrigens geht das mit dem doppelten WHERE auch schief. Kriterien sind mit AND bzw. OR zu verknüpfen, wie Du das später auch schon anwendest.

MfGA
ebs
Mit freundlichem Glück Auf!

Eberhard

MzKlMu

Hallo,

mir ist nicht ganz klar, wo Value herkommt, aus einem Formular?


Dringender Rat:
Value ist eine VBA und SQL Eigenschaft und sollte für eigene Namensgebungen absoltu tabu sein.
Gruß Klaus

tragger

Vielen Dank für die Lösung und die Tipps.

Das mit dem Where/And kam durch das probieren.