Problem:
Ich habe ein Formular in dem ich einen Datensatz über mehrere Abfragen lösche. Dabei werden die Daten zuerst in den Untertabellen und dann der Datensatz in der Haupttabelle gelöscht.
Am Ende wird mit Requery überprüft ob die Daten gelöscht sind.
Dies funktioniert auch problemlos. Nur durch das Requery kommt die Fehlermeldung: Laufzeitfehler 3167 Datensatz ist gelöscht. Dies ist ja auch richtig. Nur möchte ich die Fehlermeldung unterdrücken.
Mein Versuch:
DoCmd.SetWarnings False
DoCmd.Requery
DoCmd.SetWarnings True
funktioniert nicht.
Hat jemand eine Idee wie diese Fehlermeldung unterdrückt werden kann?
MfG Günther
Zitat von: gsaccess am April 24, 2023, 20:00:31Am Ende wird mit Requery überprüft ob die Daten gelöscht sind.
Dies funktioniert auch problemlos. Nur durch das Requery kommt die Fehlermeldung: Laufzeitfehler 3167 Datensatz ist gelöscht.
Requery von was genau?
Wenn es um ein Formular geht, kannst du mal probieren direkt die .
Requery-Methode des Formulars aufzurufen.
Das Formular soll aktualisiert werden.
mit
me.refresh
oder
me.require
kommt immer obige Fehlermeldung.
Zitat von: gsaccess am April 25, 2023, 08:22:14Das Formular soll aktualisiert werden.
mit
me.refresh
oder
me.require
kommt immer obige Fehlermeldung.
Bei
.Refresh überrascht mich das nicht, aber
.Requery sollte ohne Fehler funktionieren.
Eine mögliche Erklärung wäre, dass du den Datensatz, der gelöscht werden soll, gerade in dem Formular bearbeitest; d.h. der Datensatz ist geändert, aber noch nicht gespeichert. In dem Fall wäre die Lösung:
1. Änderungen speichern
2. Datensatz löschen
3. Requery