Recordset mit Laufzeitfehler

Hallo,

ich habe folgendes Problem:
In Access 2003 habe ich einen Recordset per SQL-Select definiert der wie folgt aussieht:

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset(„SELECT [Artikel-Nr], [Bezeichnung], [Status], [Lieferant-Nr] FROM T_Artikel WHERE [Status] Like ‚verkauft*‘ AND [Lieferant-Nr]=([Formulare]![F_Startmenu]![Lieferant-Nr])“, dbOpenSnapshot)

Leider kommt hier ständig die Fehlermeldung „Laufzeitfehler 3061:
1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben“

Per Abfragefenster funktioniert diese jedoch. Wenn ich die Bedingung
„AND [Lieferant-Nr]=([Formulare]![F_Startmenu]![Lieferant-Nr])“ weglasse funktioniert auch die SQL. Was kapiert der Openrecordset nicht(Formular F_Startmenu ist im Hintergrund geöffnet)

Vielen Dank für Eure Antworten im Voraus

Gruß

Andreas

Hallo,

Was kapiert der Openrecordset nicht?

das Wort „Formulare“

Außerdem sollte man den String in VBA auflösen:

"SELECT [Artikel-Nr], [Bezeichnung],[Status], [Lieferant-Nr] FROM T_Artikel WHERE ([Status] Like ‚verkauft*‘) AND
([Lieferant-Nr]= " & [Forms]![F_Startmenu].[Lieferant-Nr] & „);“

Z.B. wenn die Lieferantennummer nummerisch ist, sonst mit ’ Apostroph.
Ein paar Klammern könnten auch nicht schaden…

und wenn du schon aus den Abfragen kopierst -> alles kopieren,
nicht vergessen das ; Semikolon am Ende einer SQL-Anweisung!

Grüße aus Rostock
Wolfgang
(Netwolf)

Hallo Wolfgang,

funzt super, hatte ich nicht gewußt.

Man lernt nie aus

Vielen Dank

Gruß

Andreas