Fehler bei Update Anweisung

Guten Tag,

Ich habe ein großes Problem mit Access97.

Bei einer Update Anweisung trat ein Fehler auf.
2246
Microsoft Access kann die Abfrage kann nicht ausführen, da die Parameterwerte zu umfangreich sind. Die Gesamtlänge aller als Parameter angegebenen Werte darf 1.024 Zeichen nicht überschreiten.

Ich möchte den Text mehrere Felder, von einem Formular, zur Tabelle tbl_verl hinzufügen.
Habe die Update anweisung gesplittet, sodass Access erstmal nur ein Feld updatet. Die Zeichen länge in dem Feld beträgt ca. 600 Zeichen. Aber Trotzdem kommt der Fehler.

Nun habe ich es über den Recordset probiert. Doch da hatte ich auch Probleme.
Set rs = db.OpenRecordset(„SELECT * FROM tbl_verl WHERE sid = Forms![Formular1]![txt_ID]“, dbOpenDynaset)

Doch hier erkennt er das WHERE Kriterium nicht. Obwohl der Pfad des Textfeldes stimmt. Access nimmt das Krit. nur an wenn ich dort die ID direkt angebe.

Habe es dann über den Filter probiert mir den Datensatz herauszufiltern und mit Edit den Ds hinzu zufügen. Doch nun der nächste Fehler. 3197
Das Microsoft Jet-Datenbankmodul hat den Vorgang angehalten, da Sie und ein weiterer Benutzer gleichzeitig versuchen, dieselben Daten zu verändern.
–> wegen LockEdits nicht möglich

Hallo, ebenfalls guten Tag,

also das mit dem Select… das stimmt was nicht

falls dein Feld mumerisch ist muss das so heissen:
Set rs = db.OpenRecordset("SELECT * FROM tbl_verl WHERE sid = " & Forms![Formular1]![txt_ID], dbOpenDynaset)

oder wenn Textfeld dann so

Set rs = db.OpenRecordset(„SELECT * FROM tbl_verl WHERE sid = '“ & Forms![Formular1]![txt_ID], dbOpenDynaset) & „’“

Mein Tipp zu solchen Problemen:

weise dein statement einer Textvariablen zu

Dim sqlString as String
sqlString = „Select …“
set rs = db.OpenRecordset(sqlString)

wenn es dann zu fehlern kommt halte das Programm in der Zeile
set rs = db.Openrecordset(…)
mitttels einem Brechpunkt an un schau dir die Variable in Debugfenster an. Zur Not kopiere den Inhalt der Varibalen in die SQL-Entwurfansicht einer Abfrage und fuehre das ganze als Abfrage aus, weil da sind die Fehlermeldungen aussagekraeftiger.

Tschau
Peter

ich vermute mal das mit dem Update das gleiche Problem vorliegt.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich danke Dir, damit hast du mir unwahrscheinlich weitergeholfen.
Jetzt funktioniert alles.

Danke, danke!!!

mfg

Norman

Hallo, ebenfalls guten Tag,

also das mit dem Select… das stimmt was nicht

falls dein Feld mumerisch ist muss das so heissen:
Set rs = db.OpenRecordset("SELECT * FROM tbl_verl WHERE sid =
" & Forms![Formular1]![txt_ID], dbOpenDynaset)

oder wenn Textfeld dann so

Set rs = db.OpenRecordset(„SELECT * FROM tbl_verl WHERE sid =
'“ & Forms![Formular1]![txt_ID], dbOpenDynaset) & „’“

Tschau
Peter