INSERT INTO Syntaxfehler bei VB6.0

Hallo,

ich habe(hatte) eine Problem.

Ich habe zweimal unter Visual Basic 6.0 und ADO versucht einen neuen Datensatz in einer Tabelle eienr Access-Datenbank anzulegen.

strSQL = "INSERT INTO Lang (Feld1, Feld2, LastModified) VALUES ('text1', 'text2', 'datum')"

DESTrs.Open strSQL, DB, adOpenDynamic, adLockReadOnly
strSQL = "INSERT INTO Desc (IDDesc, Beschreibung1, Beschreibung2) VALUES (123, 'text1', 'text2')"

Dest2rs.Open strSQL, DB, adOpenDynamic, adLockReadOnly

Das zweite Mal sollte eine andere Tabelle in der gleichen Datenbank DB erweitert werden. Nummer 1 klapp, Nummer 2 nicht.

Erst, nachdem ich in purer Verzweiflung mal folgendes ausprobierte:

strSQL = "INSERT INTO **datenbank.mdb.Desc** (IDDesc, Beschreibung1, Beschreibung2) VALUES (123, 'text1', 'text2')"

wollte es funktionieren. Fragt mich bitte nicht, wie ich auf die Loesung kam! Aber warum ist das denn so? datenbank.mdb ist die Datenbankdatei

Ist das irgendwo dokumentiert?

Danke unc Ciao! Bjoern

Hallo Bjoern,

Hallo,

ich habe(hatte) eine Problem.

Lösung zu Punkt 2:

Das liegt daran, weil das Wort DESC eines unter vielen Wörtern ist, die für SQL reserviert sind …

strSQL = „INSERT INTO Desc (IDDesc, Beschreibung1,
Beschreibung2) VALUES (123, ‚text1‘, ‚text2‘)“

Dest2rs.Open strSQL, DB, adOpenDynamic, adLockReadOnly

Das zweite Mal sollte eine andere Tabelle in der gleichen
Datenbank DB erweitert werden. Nummer 1 klapp, Nummer 2 nicht.

Erst, nachdem ich in purer Verzweiflung mal folgendes
ausprobierte:

strSQL = „INSERT INTO datenbank.mdb.Desc (IDDesc,
Beschreibung1, Beschreibung2) VALUES (123, ‚text1‘, ‚text2‘)“

wollte es funktionieren. Fragt mich bitte nicht, wie ich auf
die Loesung kam! Aber warum ist das denn so? datenbank.mdb ist
die Datenbankdatei

Ist das irgendwo dokumentiert?

Schau mal in die Hilfe unter „Für SQL reservierte Wörter“

Danke unc Ciao! Bjoern

Tschö mit Ö …
moritzbock