PDA

Vollständige Version anzeigen : Fehler 3219 - unzulässige Option


AnDe
13.08.2001, 13:59
Hallo Forum!

Hab folgendes Problem: Unter Access 97, SR2 unter Windows NT 4.0 mit SP 6.0a wird folgende Fehlermeldung ausgegeben:

"Fehler 3219 - unzulässige Option"

Auszug aus meinem Code:

Dim DB As Database
Dim rs, rs1, rs2 As Recordset
Set DB = CurrentDb()

Set rs2 = DB.OpenRecordset("tbl_Benzin", dbOpenTable)
rs2.MoveLast

Bei rs2.moveLast wird Fehlercode ausgegeben; Im Testfenster mit Debug.Print rs2.Name wird auch Fehler ausgegeben; wenn ich versuchsweise im SET-Befehl den Parameter 'dbOpenTable' weglasse, wird zwar Name ausgegeben; Fehler 3219 erscheint aber dennoch!

Die Tabelle tbl_Benzin existiert (ist eine eingebunde Tabelle).
Diese Verweise sind registriert:
1) Visual Basic for Application
2) Microsoft Access 8.0 Object Library
3) Microsoft Sripting Runtime
4) Microsoft DAO 3.6 Object Library

Ich hab auch schon versucht, die DAO 3.51 Library einzubinden; bringt auch nichts.

Könnte das Problem auch mit ODBC-Einträgen für Access zusammenhängen? Hab diese auch schon neu angelegt, hat ebenfalls nichts gebracht!

Leute, ich bin ratlos, diese Applikation ist jetzt 6 Monate ohne Probleme gelaufen. Und nun auf einmal dies......

Gruss, Andreas

Stema
13.08.2001, 14:22
Hallo Andreas,

versuch mal folgendes:

Set rs2 = DB.OpenRecordset("tbl_Benzin", dbOpenTable)
if rs2.EOF then
msgbox "Kein datensatz vorhanden!"
else: rs2.MoveLast
end if

Hütti
13.08.2001, 14:28
ich würde mal probieren, "dbopentable" durch "dbopendynaset" oder "dbopensnapshot" zu ersetzen.
ich weiß nicht mehr wie das unter a97 ist, aber unter a00 habe ich auch häufiger die meldung, die sich unter DIM mit DAO.Recordset statt nur RECORDSET erledigt...

AnDe
13.08.2001, 14:32
Hallo Stema!
danke, hab s ausprobiert. Immer noch dieselbe Fehlermeldung. In der Tabelle tbl_Benzin sind 599 Datensätze vorhanden.
Ich hab eben nochmals die DAO 3.6-Verweise entfernt und stattdessen 3.51 eingebunden, bringt aber nichts.

Gruss, Andreas

Birgit Dannenberg
13.08.2001, 14:34
und wenn Du die DAO mal höher schiebst, so an die 2./3. Stelle???


Birgit

AnDe
13.08.2001, 14:58
Der DAO 3.51-Veweise ist an 3. Stelle; d.h. an der ersten frei wählbaren Position. Die ersten beiden Verweise sind obligatorisch.

Kann das wirklich sein, das ich bei eingebundenen Tabellen
set rs2=DB.OpenRecordset("tbl_Benzin", dbOpenTable) NICHT ausführen kann? wenn ich den Parameter 'dbOpenTable' weglasse, geht's ein Stück weiter.

Ich hab den Rat von Hütti weiter oben befolgt und in der DIM-Anweisung

Dim rs2 as DAO.Recordset

deklariert.

Unterscheidet A97 zwischen normalen Tabellen und EINGEBUNDENEN Tabellen? Lässt sich bei eingebundenen Tables die Recordset-Methode/Eigenschaft nicht anwenden?

Andreas.

Birgit Dannenberg
14.08.2001, 08:29
-- finde meine Antwort nicht, muß sie wohl noch einmal schreiben --

Also, ich arbeite viel mit eingebundenen Tabellen, sowohl aus Access als auch über ODBC, und habe damit keine Probleme.
Den Parameter 'dbOpenTable' darfst Du tatsächlich nicht verwenden - wie in der Online-Hilfe beschrieben. Ohne müsste es aber klappen.

Wie sieht denn bei Dir die Datenherkunft aus? Welche Fehler treten noch auf?

Birgit

(es heißt übrigens 'unzulässige OPERATION')

AnDe
15.08.2001, 09:01
Hallo Birgitt,
Du hast vollkommen recht:
erstens heisst die Meldung wirklich OPERATION und
zweitens heisst s in der OL GANZ UNTEN VERSTECKT
"...Wenn Sie eine verknüpfte Tabelle oder Abfrage angeben, so erstellt OpenRecordset ein Recordset-Objekt vom Typ Dynaset."

Ich hatte erst in der vorletzten Version meiner MDB auf eingebundene Tabellen umgestellt.

Ich hab bei mir den Code umgestellt und den Parameter 'dbOpenTable' bei allen eingebundenen Tabellen entfernt.

Nun läuft alles bestens.
Euch allen ganz herlichen Dank.
Gruss, Andreas