Matthias Francke: "Maximum Tables in SELECT" Fehler bei SQL INSERT

Beitrag lesen

Hallo,

sql="INSERT INTO literatur VALUES ('"& nname & "','" & Vname & "','" & eautor & "','" & zautor & "','" & cautor & "','" & typ & "','" & journal & "','" & jahr & "','" & vol & "','" & nr & "','" & seiten & "','" & titel & "','" & foerderung & "','" & verfahren & "','" & organsystem & "','" & anatomie & "','" & thema & "','" & empfaenger & "','" & foerderer & "');"

Ändere das mal in:

sql="INSERT INTO literatur (<spalte1>, <spalte2>, ...) VALUES ('"& nname & "','" & Vname & "','" & eautor & "','" & zautor & "','" & cautor & "','" & typ & "','" & journal & "','" & jahr & "','" & vol & "','" & nr & "','" & seiten & "','" & titel & "','" & foerderung & "','" & verfahren & "','" & organsystem & "','" & anatomie & "','" & thema & "','" & empfaenger & "','" & foerderer & "');"

Auch wenns normalerweise so geht, könnte dies dein Problem sein,
wenn es IDENTITY Werte, ... gibt. Für <spalte1>, ... musst du
übrigens die Spaltennamen deiner Tabelle einfügen. Und darauf
achten, dass Spalten und der Wert an der jeweils übereinstimmen
Position stehen. Hier hilft die evtl. eine andere Formatierung.

strSQL = "INSERT INTO tabelle (" & _
             "spalte1, " & _
             "spalte2, " & _
             "spalte3 " & _
         ") VALUES (" & _
             "'" & wert1 & "', " & _
             "'" & wert2 & "', " & _
             "'" & wert3 & "')"

Ich habe nun über conn.properties raus gefunden, daß der Wert in "Maximum Tables in SELECT" auf 16 steht.
Kann das der Grund für die Fehlermeldung sein?

Nein, wenn der Wert "MAXIMUM Columns in INSERT" heissen würde.

Tschau, Stefan

Hallo Stefan,

ich hab den command folgendemaßen abgeändert:

sql="INSERT INTO literatur (nname ,vname, eautor, zautor, cautor ,typ ,journal ,jahr ,vol ,nr ,seiten ,titel ,foerderung ,verfahren ,organsystem ,anatomie ,thema ,empfaenger ,foerderer) VALUES ("
sql = sql & "'" & nname & "',"
sql = sql & "'" & vname & "',"
sql = sql & "'" & eautor & "',"
sql = sql & "'" & zautor & "',"
sql = sql & "'" & cautor & "',"
sql = sql & "'" & typ & "',"
sql = sql & "'" & journal & "',"
sql = sql & "'" & jahr & "',"
sql = sql & "'" & vol & "',"
sql = sql & "'" & nr & "',"
sql = sql & "'" & seiten & "',"
sql = sql & "'" & titel & "',"
sql = sql & "'" & foerderung & "',"
sql = sql & "'" & verfahren & "',"
sql = sql & "'" & organsystem & "',"
sql = sql & "'" & anatomie & "',"
sql = sql & "'" & thema & "',"
sql = sql & "'" & empfaenger & "',"
sql = sql & "'" & foerderer & "');"

und bekomme nun die folgenden Meldung:

[Microsoft][ODBC Microsoft Access Driver] Die INSERT INTO-Anweisung enthält folgenden unbekannten Feldnamen: 'foerderer'. Stellen Sie sicher, dass Sie den Namen richtig eingegeben haben, und führen Sie dann die Operation nochmals aus.

Einen Fehler kann ich da aber leider nicht erkennen.

Wäre nett wenn Du mir noch einmal einen kleinen Hinweis geben könntest.

Vielen Dank

Matthias