PDA

Vollständige Version anzeigen : Syntaxfehler (fehlender Operator) in Abfrageausdruck '.....'


RIDDLER
23.08.2001, 07:02
Hi

Hab wieder ein Problem, und zwar:
Ich habe einen SQL-String an OpenRecordSet übergeben. Es stimmt alles mit den Parametern usw. Die SQL-Abfrage funktioniert richtig wie es soll, aber wenn ich das Ganze ausführe hab ich folgende Fehlermeldung:

Laufzeitfehler '3075'
Syntaxfehler (fehlender Operator) in Abfrageausdruck '(((Month([Datum]) =8) And ((T_Zeiterfassung.MitarbeiterID) =9)) ORDER BY Month([Datum]);

Die 8 und die 9 sind die Inhalte der 2 Parameter.

Hier die SQL-Abfrage mit 2 Parametern 'monat_datum' und 'personalnr'.

SELECT Weekday([datum]) AS T_Wochentag
FROM T_Zeiterfassung
GROUP BY Weekday([datum]), Month([Datum]), T_Zeiterfassung.MitarbeiterID, T_Zeiterfassung.Datum
HAVING (((Month([Datum]) =" + monat_datum + ") And ((T_Zeiterfassung.MitarbeiterID) =" + personalnr + ")) ORDER BY Month([Datum]);

Danke im Voraus

Joachim Hofmann
23.08.2001, 13:32
Hallo Riddler,

a) Funktioniert die SQL-Abfrage richtig oder nicht?
b) Wenn Du debuggst, und im Direktfenster deinen SQL-String anzeigt:
? meinsqlstring
was bekommst Du geliefert?

RIDDLER
23.08.2001, 13:43
Hi

a) Hab grad gesehen, dass ich mich unverständlich ausgedrückt habe. Ich habe zuerst eine Abfrage erstellt, die funktioniert und habe dann das SQL-Statement rauskopiert und in VBA eingefügt. Habe die Parameter ersetzt und dann das Ganze ausgeführt und dann meldet sich oben beschriebene Meldung.

b) Das bekomme ich geliefert

SELECT Weekday([datum]) AS T_Wochentag
FROM T_Zeiterfassung
GROUP BY Weekday([datum]), Month([Datum]), T_Zeiterfassung.MitarbeiterID, T_Zeiterfassung.Datum
HAVING (((Month([Datum]) =8) And ((T_Zeiterfassung.MitarbeiterID) =4)) ORDER BY Month([Datum])

Das stimmt meiner Meinung nach auch.

Danke für die Bemühungen

Joachim Hofmann
23.08.2001, 16:57
versuchen, order by frei stehen zu lassen. (die große Klammer um Having und order by entfernen), die sieht seltsam aus.

RIDDLER
24.08.2001, 07:15
Danke
Jetzt hauts hin. Das seltsame an der Sache war aber, dass nach Having 7 Klammern geöffnet wurden, aber nur 6 wieder geschlossen. Wieso hat er sich nicht mit "Erwartet: )..." aufgeregt??
Ist jetzt auch wurscht, es funktioniert.

Nochmals danke