ich habe eine Abfrage in einem Recortsetobjekt geöffnet.
Nun möchte ich einige Daten in die Abfrage automatische speichern. Beim
ersten Feld erhalte ich die Fehlermeldung
"Aktualisieren nicht möglich, Datenbank oder Objekt ist schreibgeschützt!"
Wenn ich die Abfrage normal öffne kann ich Daten eingeben und ändern ohne
Probleme.
Wie kann ich die Abfrage ohne Schreibschutz öffnen?
Zur Zeit verwende ich folgenden Code:
Set db = CurrentDb
Set rs = db.OpenRecordset("Name", dbOpenDynaset)
rs!feld1="Eintrag"
Ich hoffe, es kennt jemand dioe Lösung.
Gruß Wolfgang
Wolfgang Weitzel schrieb folgendes:
Dir fehlt ein .AddNew / .Edit
' Neuer Datensatz
With rs
.AddNew
!Feld1="Eintrag"
.Update
end with
bzw.
'Editieren eines Datensatzes
With rs
'...
.Edit
!Feld1="Eintrag"
.Update
end with
--
Gruß
Gunter
_________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com
ich habe nun die With End with Schleife mit .edit und .Update eingefügt. Bei
Ausführung des Programms erhalte ich wieder die Fehlermeldung 3027 mit dem
Text
"Aktualisieren nicht möglich, Datenbank oder Objekt ist.
Muß ich an dieser Stelle noch etwas beachten?
Gruß Wolfgang
> > schreibgeschützt!"
"Gunter Avenius" <ave...@avenius.com> schrieb im Newsbeitrag
news:aecsg7$n17$07$1...@news.t-online.com...
Wolfgang Weitzel schrieb folgendes:
> ich habe nun die With End with Schleife mit .edit und .Update
> eingefügt. Bei Ausführung des Programms erhalte ich wieder die
> Fehlermeldung 3027 mit dem Text
> "Aktualisieren nicht möglich, Datenbank oder Objekt ist.
Werf mal eine Blick in die Onlinehilfe zur Edit Methode.
Hier mal ein Beispiel:
Dim dbs As DAO.Database
Dim rec As DAO.Recordset
Set dbs = CurrentDb
Set rec = dbs.OpenRecordset("DeineAbfrage", dbOpenDynaset)
With rec
.Edit
!Feld1 = "Bla"
.Update
End With
rec.Close
Set rec = Nothing
dbs.Close
Set dbs = Nothing
Wolfgang Weitzel schrieb folgendes:
> Hallo Gunter,
>
> ich habe nun die With End with Schleife mit .edit und .Update
> eingefügt. Bei Ausführung des Programms erhalte ich wieder die
> Fehlermeldung 3027 mit dem Text
> "Aktualisieren nicht möglich, Datenbank oder Objekt ist.
> Muß ich an dieser Stelle noch etwas beachten?
Noch ein Nachtrag, heißt Deine Abfrage wirklich "Name" ?. Wenn Ja ist das
sehr ungünstig. Bennene diese um in qry_Name.
Siehe auch FAQ Punkt 1.5 (Benamsungen)
nachfolgend der vollständige Code, der mir den Fehler liefert.
Dim db As DAO.Database, rsdb As DAO.Recordset
Set db = CurrentDb
Set rsdb = db.OpenRecordset("Qualifikation", dbOpenDynaset)
With rsdb
.Edit
rsdb!OptBwl = 0
........
........
.Update
End With
rsdb.Close
Set rsdb = Nothing
db.Close
Set db = Nothing
Ich bin ratlos und kann den Grund nicht erkennen. Beim debuggen wird die
Zeile mit dem Edit Befehl markiert.
Gruß Wolfgang
"Gunter Avenius" <ave...@avenius.com> schrieb im Newsbeitrag
news:aed6be$5s0$06$1...@news.t-online.com...
Wolfgang Weitzel schrieb folgendes:
> nachfolgend der vollständige Code, der mir den Fehler liefert.
>
> Dim db As DAO.Database, rsdb As DAO.Recordset
> Set db = CurrentDb
> Set rsdb = db.OpenRecordset("Qualifikation", dbOpenDynaset)
> With rsdb
> .Edit
> rsdb!OptBwl = 0
> ........
> ........
> .Update
> End With
> rsdb.Close
> Set rsdb = Nothing
> db.Close
> Set db = Nothing
>
> Ich bin ratlos und kann den Grund nicht erkennen. Beim debuggen wird
> die Zeile mit dem Edit Befehl markiert.
Wird der Datensatz zum Zeitpunkt wo Du den Code ausführst bearbeitet z.B. in
einem Formular?
Die Tabelle, in der die Daten eingetragen werden sollen, ist Bestandteil
einer anderen Abfrage, welche hinter einem geöffneten Formular liegt.
Gruß Wolfgang
Public Function fncTest()
Dim db As DAO.Database
Dim rsdb As DAO.Recordset
Set db = CurrentDb
Set rsdb = db.OpenRecordset("Qualifikation", dbOpenDynaset)
With rsdb
.Edit
rsdb!OptBwl = 0
.Update
End With
rsdb.Close
Set rsdb = Nothing
db.Close
Set db = Nothing
End function
Wolfgang Weitzel schrieb folgendes:
> Die Tabelle, in der die Daten eingetragen werden sollen, ist
> Bestandteil einer anderen Abfrage, welche hinter einem geöffneten
> Formular liegt.
Dieses Formular, hast Du da bei der Formulareigenschaft "Datensätze sperren"
alle Datensätze angegeben, bzw. hast Du bei der Verknüpfungseigenschaften in
der Abfrage bei "Datensätze sperren" alle Datensätze angegeben?
der Fehler wird auch ausgegeben, nachdem nur die Funktion in einem neuen
Modul Test ausgeführt wird.
Gruß Wolfgang
Wolfgang Weitzel schrieb folgendes:
> Die Tabelle, in der die Daten eingetragen werden sollen, ist
> Bestandteil einer anderen Abfrage, welche hinter einem geöffneten
> Formular liegt.
Dieses Formular, hast Du da bei der Formulareigenschaft "Datensätze sperren"
alle Datensätze angegeben, bzw. hast Du bei der Verknüpfungseigenschaften in
der Abfrage bei "Datensätze sperren" alle Datensätze angegeben?
> der Fehler wird auch ausgegeben, nachdem nur die Funktion in einem
> neuen Modul Test ausgeführt wird.
wenn es das mit der Datensatzsperrung nicht ist, bist Du sicher das Du das
Feld in der Abfrage von Hand ändern kannst?
--
Gruß
Gunter
Ich habe eine Bearbeitung in der Abfrage nochmals durchgeführt. Dies geht
ohne weitere Probleme. Ich habe ein Feld geändert und die Abfrage
geschlossen. Nachdem ich die Abfrage wieder geöffnet habe, habe ich den
geänderten Feldinhalt feststellen können.
Gruß Wolfgang