Access speichert Datensätze sofort

Hallo,
ich habe ein Formular (Einzelanzeige) in dem ich mir die Datensätze eine Tabelle in der Datenbank anzeigen lasse. Diese kann ich natürlich auch bearbeiten, kann zu anderen Datensätzen springen oder Datensätze löschen sowie neu anlegen. Die Steuerelemente in dem Formular sind dafür direkt an Felder der Datenbank gebunden. Es funktioniert auch alles wunderbar (eigene Buttons etc) jedoch speichert Access Änderungen (also wenn ich in einem Eingabefeld z.B. etwas ändere) sofort auch in der Datenbank ohne eine Abfrage ob die Daten gespeichert bzw Änderungen verworfen werden sollen. Ändere ich z.B. ein Feld in einem Datensatz und wechsle sofort zu einem anderen (ohne explizit auf speichern zu klicken) ist der Datensatz auch sofort permanent in der Datenbank geändert worden. Wo kann ich sagen, dass dies nur nach erneutem nachfragen oder expliziten klickens auf „Speichern“ geschehen soll um „ausversehenes“ ändern zu vermeiden?
Ich habe eigentlich alle Eigenschaften des Formulars durchprobiert, ohne erfolg. Auch in den Optionen von Access ist „Bestätigen - Datensatzänderungen“ angeklickt!
Danke schonmal

Hallo.

Auch in den Optionen von Access ist „Bestätigen -
Datensatzänderungen“ angeklickt!

Das wirkt nur bei Aktualisierungsabfragen, nicht beim direkten Editieren. Um das direkte Speichern zu unterbinden, wirst Du a weng tricksen müssen. Bleistiftsweise kannst Du per RecordsetClone den Datenbestand kopieren, die Kopie editieren und das Speichern explizit fordern. Dafür ist aber ein bisschen VBA erforderlich.

Gruß Eillicht zu Vensre

Hallo Steffen,

jedoch speichert Access
Änderungen sofort auch in der Datenbank ohne eine Abfrage ob die
Daten gespeichert bzw Änderungen verworfen werden sollen.

richtig, das ist die Grundeinstellung von Access.
wie z.B. Excel, das auch nicht jedes mal nachfragt, wenn du etwas in eine Zelle einträgst.

Ändere ich z.B. ein Feld in einem Datensatz und wechsle sofort
zu einem anderen (ohne explizit auf speichern zu klicken) ist
der Datensatz auch sofort permanent in der Datenbank geändert
worden.

richtig erkannt

Wo kann ich sagen, dass dies nur nach erneutem
nachfragen oder expliziten klickens auf „Speichern“ geschehen
soll um „ausversehenes“ ändern zu vermeiden?

es gibt Varianten, die ein Formular erstmal vor dem Editieren verschließen und eine Taste (Button) so programmieren, dass ein neues EDIT-Formular aufgemacht wird, dessen schließen dann nachfragt, ob die Daten dann in der Originaltabelle gespeichert werden sollen.

mit ein wenig (mehr) VBA kann man das auch mit einem Formular bewerkstelligen.

Ich habe eigentlich alle Eigenschaften des Formulars
durchprobiert, ohne erfolg.

nö, nicht die Eigenschaften … die Ereignisse sind das was du dir ansehen solltest!

Auch in den Optionen von Access
ist „Bestätigen - Datensatzänderungen“ angeklickt!

schau dir dazu mal die Access-Hilfe genau an!

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

es gibt Varianten, die ein Formular erstmal vor dem Editieren
verschließen und eine Taste (Button) so programmieren, dass
ein neues EDIT-Formular aufgemacht wird, dessen schließen dann
nachfragt, ob die Daten dann in der Originaltabelle
gespeichert werden sollen.

Hallo, danke für deine Antwort.
Ich habe die Möglichkeit der Ereignisse übersehen. Somit kann ich zumindest durch das „Before Update“ ereignis eine erneute Frage einbringen.
Ich habe auch versucht das Formular dahingehend zu ändern, dass es als Datengrundlage einen anderen Clone Recordset nutzen sollte. Jedoch hat das nicht funktioniert. Ich schau nochmal nach wie genau ich einen Quasi kopierten Recordset erstelle um an diesem dann zu arbeiten im EDIT wie du es erwähntest… meine versuche in diese richtung waren bisher gescheitert.
Gruß