PDA

Vollständige Version anzeigen : VBA SQL Inser To Problem


DavidHH
06.05.2004, 11:13
Hi !
Habe gerade mühsam einen SQL String in VBA umgesetzt und bekomme die Fehlermeldung "3061 " Parameter wurden erwartet, aber zuwenig übergeben..:" Der String ist
CurrentDb.Execute "INSERT INTO UmsätzeAktuellZTS ( Agenturnr, Monat, Jahr, UmsMonVJ, UmsMonAkt, UmsKumVJ, UmsKumAkt ) SELECT Ag-Nr,Auswertungsmonat,Auswertungsjahr,UmsatzVJperdato,UmsatzLJperdato,UmsatzVJgesa mt,UmsatzLJgesamt FROM ImportUmsätzeZTS" & ";"

Sieht jemand den ( die?) Fehler ????

Danke

Gruss Davy

J_Eilers
06.05.2004, 11:17
Hi,

versuchs mal so:

Dim strSQL As String

strSQL = "INSERT INTO [UmsätzeAktuellZTS] ( Agenturnr, Monat, Jahr, UmsMonVJ, " & _
"UmsMonAkt, UmsKumVJ, UmsKumAkt ) " & _
"SELECT [Ag- Nr] , Auswertungsmonat, Auswertungsjahr, UmsatzVJperdato, " & _
"UmsatzLJperdato, UmsatzVJgesamt, UmsatzLJgesamt " & _
"FROM ImportUmsätzeZTS"

CurrentDb.Execute (strSQL), dbFailOnError

Heißt das Feld Ag- Nr oder Ag-Nr?

DavidHH
06.05.2004, 11:25
Name des Feldes ist Ag-Nr.
Habe das in deinem Script geändert und die Klammern weggenommen !
Leider gibt er die gleiche Fehlermeldung ...

J_Eilers
06.05.2004, 11:26
Dann lass die Klammern mal drin.

DavidHH
06.05.2004, 11:29
OK !
Habe Ar_Nr wieder in [] gesetzt. Jetzt gibt keine Fehlermeldung mehr, aber die Daten werden nicht in die Tabelle geschrieben !
..HEUL ....

J_Eilers
06.05.2004, 11:32
Hast du auch die Klammern um den Tabellennamen wieder gesetzt?

Ansonsten schreibe mal folgendes:

Dim strSQL As String

strSQL = "INSERT INTO [UmsätzeAktuellZTS] ( Agenturnr, Monat, Jahr, UmsMonVJ, " & _
"UmsMonAkt, UmsKumVJ, UmsKumAkt ) " & _
"SELECT [Ag- Nr] , Auswertungsmonat, Auswertungsjahr, UmsatzVJperdato, " & _
"UmsatzLJperdato, UmsatzVJgesamt, UmsatzLJgesamt " & _
"FROM ImportUmsätzeZTS"

Debug.Print strSQL
'CurrentDb.Execute (strSQL), dbFailOnError

Rufe die Sub einmal auf, wechsel wieder ins VBA-Fenster, drück STRG-G und kopiere den Inhalt des Direktfensters in eine leere Abfrage. Dort sollte Fehler schnell aufzufinden sein.

DavidHH
06.05.2004, 11:36
Das ist schon merkwürdig !
Habe das mal gemacht und die Abfrage ausgeführt .
Funkt ohne Probleme ...

J_Eilers
06.05.2004, 11:37
SQL-Code? Auch den Hinweis in meiner Signatur bitte beachten.

DavidHH
06.05.2004, 11:44
Der Code ist
INSERT INTO [UmsätzeAktuellZTS] ( Agenturnr, Monat, Jahr, UmsMonVJ, UmsMonAkt, UmsKumVJ, UmsKumAkt ) SELECT [Ag-Nr] , Auswertungsmonat, Auswertungsjahr, UmsatzVJperdato, UmsatzLJperdato, UmsatzVJgesamt, UmsatzLJgesamt FROM ImportUmsätzeZTS

J_Eilers
06.05.2004, 11:47
Na dann kannst du das CurrentDb.Execute auch wieder als Anweisung und nicht als Kommentar schreiben. Einfach das Hochkommata davor löschen ;)

@PS Copy'n'Paste

DavidHH
06.05.2004, 11:47
PS
Habe Deine Signatur beachtet und den Code umgewandelt, weiß aber nicht, wie ich ihn dann aus dem Umwandlungsfenster hier hinein kopieren kann !