Hallo zusammen,
ich dachte, o.g. Aufgabe wäre ein Leichtes. Denkste. Bin am Verzweifeln!
SQL aus Abfrage:
INSERT INTO LV ( [BV-NR], [LV-Bez], [LV-Bez-Zusatz] )
SELECT [BVNR_neu] AS Ausdr1, LV.[LV-Bez], LV.[LV-Bez-Zusatz]
FROM LV
WHERE (((LV.[LV-ID])=[Formulare]![frm_LvArchiv]![LV_Wahl]));
Die Abfrage funzt. Es soll bei [BVNR_neu] ein neuer Wert eingegeben werden. Das ID-Feld mit dem AutoWert ist nicht enthalten.
Schreibe ich den Code in VBA:
CurrentDb.Execute ("INSERT INTO LV ([BV-NR], [LV-Bez], [LV-Bez-Zusatz]) SELECT [BVNR_neu] AS Ausdr1, LV.[LV-Bez], LV.[LV-Bez-Zusatz] FROM qry_LvPos WHERE LV.[LV-ID]=[Forms]![frm_LvArchiv]![LV_Wahl]")
funzt es nicht mehr. Fehlermeldung 3061 "x Parameter wurden erwartet, ..."
Auch wenn ich im WHERE-Teil einen festen Wert eingebe, läuft es auch nicht.
Was mache ich falsch??
Gruß
Max
Hallo,
ist das Feld [LV_Wahl] auf dem gleichen Formular aus dem der Code aufgerufen wird ?
Welcher Datentyp ist denn LV-ID, ist das der Autowert ?
Hallo Klaus,
es handelt sich um ein Hauptformular, aus dem der Code ausgelöst wird. Das Feld LV_Wahl ist ein Kombifeld in diesem Form. Leider funzt es auch mit einem festen (nummerischen) Wert nicht.
Das Feld LV-ID ist der Autowert und besitzt den Primärschlüssel.
Gruß
Max
Hallo,
versuche es so:
CurrentDb.Execute ("INSERT INTO LV ([BV-NR], [LV-Bez], [LV-Bez-Zusatz]) SELECT [BVNR_neu] AS Ausdr1, LV.[LV-Bez], LV.[LV-Bez-Zusatz] FROM qry_LvPos WHERE LV.[LV-ID]= " & Me.[LV_Wahl]), dbFailOnError
So funzt es auch nicht.
Stattdessen habe ich es nun mit DoCmd.RunSQL versucht.
Nachdem ich dann noch einen falschen Bezug korrigiert habe, lief es.
Übrigens ist dann die Schreibweise
WHERE [LV-ID]= " & Me![LV_Wahl] oder
WHERE [LV-ID]= [Forms]![frm_LvArchiv]![LV_Wahl]
egal.
Vielen Dank für die Hilfe.
Gruß
Max