Laufzeitfehler 3061

07/05/2010 - 11:29 von Peter Wenzel | Report spam
Hallo zusammen,

folgende Abfrage erzeugt einen Laufzeitfehler 3061 "1 Parameter wurden
erwartet, aber es wurden zuwenig Parameter übergeben"
Setze ich den SQL-String direkt in eine Abfrage, funktioniert's.

Mein Code:

Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strsql As String
Set db = CurrentDb
strsql = "SELECT Sum(Haushalte) AS Stück FROM qryFahrbarZSP WHERE
AuftrID0 AND Abholtag="Donnerstag" AND Disponiert=True"
Set rs = db.OpenRecordset(strsql, dbOpenDynaset)

Ich finde einfach keinen Fehler.
qryFahrbarZSP wurde aus weiteren Abfragen gebildet, die Felder
Haushalte und AuftrID sind Zahlenfelder, Abholtag ist Text, und
Disponiert ist ein Boolean.

Könnt ihr mir helfen?

Gruß
Peter
 

Lesen sie die antworten

#1 Andreas Vogt
07/05/2010 - 11:45 | Warnen spam
Hallo,
strsql = "SELECT Sum(Haushalte) AS Stück FROM qryFahrbarZSP WHERE
AuftrID0 AND Abholtag="Donnerstag" AND Disponiert=True"

Ich finde einfach keinen Fehler.


Ich aber.
Dein Problem liegt an der Stringzusammensetzung von strsql.
Wenn du deinen String mit doppeltem Hochkommata begrenzt, darf dieses
Zeichen natürlich nicht innerhalb des Strings unmaskiert stehen.

Dein String sollte also so aussehen:
strsql = "SELECT Sum(Haushalte) AS Stück FROM qryFahrbarZSP WHERE
AuftrID0 AND Abholtag='Donnerstag' AND Disponiert=True"
Also Donnerstag durch einfache Hochkommatas begrenzt.

Übrigends, ich würde an deiner Stelle gànzlich auf deutsche Umlaute
verzichten, das muss nicht immer gut gehen.

Gruß Andreas

Ähnliche fragen