Hallo,
ich Bekomme immer die Fehlermeldung "Laufzeitfehler 3061: 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben". Der gelbe Marker steht dann auf der Zeile
Set rs = CurrentDb.OpenRecordset(SQLstr, dbOpenSnapshot)
Der ganze Code lautet:
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset(SQLstr, dbOpenSnapshot)
If rs.BOF And rs.EOF Then
MsgBox "Für den von Ihnen gewählten Zeitraum sind keine Datensätze vorhanden"
End If
rs.Close
Set rs = Nothing
SQLstr ist ein SQL-string, der passt.
Das Seltsame ist, dass genau dieser Code bereits einmal ohne Fehlermeldung funktioniert hat.
Im Voraus vielen Dank für Eure Hilfe
Beate1953
Hallo Beate,
ich habe Deinen Code mal kopiert C & P und ein einfaches SQL Satement eingesetzt. Keine Fehlermeldung!!! Der Code passt.
Vielleicht solltest Du doch mal deinen SQL String prüfen oder hier zur Begutachtung einstellen.
LG
Leo
Hallo,
es liegt ja auch nicht am Code, eher am SQL-String... Dort fehlt vermutlich ein Kriterium, bzw. ein entspr. Tabellenfeld, das entweder leer oder unbekannt, weil falsch geschrieben (---> fehlende Eckklammern!!) ist.
Hallo,
ihr hattet recht. Es lag am SQLstring selbst. Ich hatte eine runde Klammer zuviel geschlossen. Jetzt klappt es.
Es wundert mich nur, dass Access den Fehler nicht als Syntaxfehler beanstandet hat und dass
Me:RecordSource = SQLstr
den String ohne Beanstandung verwendet hat und auch die richtigen Datensätze gefunden hat.
Viele Grüße und vielen Dank
Beate1953
Hallo,
VBA-Code (Programm) ist das Eine, SQL-Syntax (Abfrage an die DB-Engine) das Andere.... Beide "wissen" doch nichts voneinander...