Ich bekomme einen Fehler mit dieser INSERT INTO, die ich einfach nicht herausfinden kann. Der Code durchläuft ein Dao-Recordset, um nur bestimmte Datensätze an eine Tabelle anzufügen.Problem mit ACCESS VBA INSERT IN
Dim maxDate As Variant
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sqlinsert As String
maxDate = DMax("[Eff Date]", "400_CF_BREAK_LOG")
Set db = CurrentDb
Set rs = db.OpenRecordset("860_APPEND_DIFFERENCES")
If Not rs.BOF Then
'populate the table
rs.MoveFirst
Do
If (rs![Eff Date] > maxDate Or IsNull(maxDate)) Then
sqlinsert = "INSERT INTO 400_CF_BREAK_LOG (Eff Date, PrimarySecurity ID Number, CUSIP(Aladdin ID), IsrName, Asset Type, Metlife Port Code, Business Unit, Principal Difference, Total PAM Principal, Total Aladdin Principal,Income Difference, Total PAM Interest,Total Aladdin Interest,Total CF Difference,Total PAM CF,PAM Coupon)" & _
" VALUES ('" & rs("Eff Date") & "', '" & rs("PrimarySecurity ID Number") & "', '" & rs("CUSIP(Aladdin ID)") & "', '" & rs("IsrName") & "', '" & rs("Asset Type") & "', '" & rs("Metlife Port Code") & "', '" & rs("Business Unit") & "', '" & rs("Principal Difference") & "', '" & rs("Total PAM Principal") & "', '" & rs("Total Aladdin Principal") & "','" & rs("Income Difference") & "', '" & rs("Total PAM Interest") & "', '" & rs("Total Aladdin Interest") & "', '" & rs("Total CF Difference") & "', '" & rs("Total PAM CF") & "', '" & rs("PAM Coupon") & "') "
DoCmd.RunSQL (sqlinsert)
End If
rs.MoveNext
Loop Until rs.EOF
End If
Ich bekomme Syntaxfehler in INSERT INTO-Anweisung, aber ich habe es ein paar Mal überprüft.
BEARBEITEN - Erläuterung. Tags
Sie schräges Leerzeichen, müssen Sie 'verwenden [Eff Datum]' –
Wie @Nathan_Sav sagt, nur gibt es viel mehr Namen mit Leerzeichen in der Abfrage als '[Eff Datum]' allein, sie alle müssen in eckigen Klammern stehen. Beachten Sie auch die Variablentypen. Wenn [Datum] ein Datum und keine Zeichenfolge ist, behandeln Sie es falsch. Beachten Sie außerdem, dass der Code, den Sie oben freigegeben haben, vollständig durch eine einzige Append-Abfrage ersetzt werden kann und viel effizienter und einfacher zu debuggen ist. –
@ErikvonAsmuth Leider kann ich die Append-Abfrage nicht ausführen, da dies einen Batch von Datensätzen hinzufügt, während ich jeden Datensatz überprüfen und dann hinzufügen muss. – FamousFrik