Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: MaxP am September 26, 2019, 19:28:10

Titel: Datensatz duplizieren
Beitrag von: MaxP am September 26, 2019, 19:28:10
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
Titel: Re: Datensatz duplizieren
Beitrag von: MzKlMu am September 26, 2019, 19:32:46
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 ?
Titel: Re: Datensatz duplizieren
Beitrag von: MaxP am September 27, 2019, 09:35:29
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
Titel: Re: Datensatz duplizieren
Beitrag von: MzKlMu am September 27, 2019, 09:52:52
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


Titel: Re: Datensatz duplizieren
Beitrag von: MaxP am September 27, 2019, 13:07:44
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