Freigeben über


Form.AfterDelConfirm-Ereignis (Access)

Das AfterDelConfirm-Ereignis tritt auf, nachdem der Benutzer bestätigt hat, dass die Löschvorgänge und die Datensätze tatsächlich gelöscht wurden, oder wenn die Löschungen abgebrochen werden.

Syntax

Ausdruck. AfterDelConfirm (Status)

expression Eine Variable, die ein Form-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Status Erforderlich Integer Eine systeminterne Konstante, die angibt, ob ein Datensatz gelöscht wurde. acDeleteOK gibt an, dass der Löschvorgang erfolgreich war. acDeleteCancel gibt an, dass der Löschvorgang in Visual Basic abgebrochen wurde. acDeleteUserCancel gibt an, dass der Löschvorgang vom Benutzer abgebrochen wurde.

Hinweise

Um ein Makro oder eine Ereignisprozedur auszuführen, wenn diese Ereignisse auftreten, legen Sie die AfterDelConfirm-Eigenschaft auf den Namen des Makros oder auf [Ereignisprozedur] fest.

Wenn ein Datensatz gelöscht ist, wird er in einem temporären Puffer gespeichert.

In einer Microsoft Access-Datenbank tritt das AfterDelConfirm-Ereignis nach dem tatsächlichen Löschen eines oder mehrerer Datensätze oder nach dem Abbrechen eines oder mehrerer Löschvorgänge auf. Wenn das BeforeDelConfirm-Ereignis nicht abgebrochen wird, tritt das AfterDelConfirm-Ereignis auf, nachdem das Dialogfeld zum Bestätigen des Löschvorgangs angezeigt wurde. Das AfterDelConfirm -Ereignis tritt auf dann auf, wenn das BeforeDelConfirm -Ereignis abgebrochen wird. Die AfterDelConfirm -Ereignisprozedur gibt Statusinformationen über den Löschvorgang zurück. Sie können beispielsweise ein Makro oder eine Ereignisprozedur verwenden, das dem AfterDelConfirm-Ereignis zugeordnet ist, um die Vom Löschen von Datensätzen betroffenen Summen neu zu berechnen.

In einem Access-Projekt (ADP) tritt das AfterDelConfirm-Ereignis auf, bevor ein oder mehrere Datensätze tatsächlich gelöscht werden. Um das Öffnen unnötiger Transaktionen in Microsoft SQL Server zu vermeiden, fordert Access Sie auf, den Löschvorgang vor dem Öffnen der Transaktion zu bestätigen. Wenn Sie den Löschvorgang bestätigen, öffnet Access eine Transaktion auf SQL Server, gibt die DELETE-Anweisung aus, um den Datensatz oder die Datensätze zu löschen, und löst das Delete-Ereignis des Formulars aus. Wenn Sie Nein auswählen, wenn Sie aufgefordert werden, den Löschvorgang zu bestätigen, öffnet Access keine Transaktion auf SQL Server, um den Datensatz zu löschen, und löst das Delete-Ereignis des Formulars nicht aus.

Wenn Sie das Delete-Ereignis abbrechen, tritt das AfterDelConfirm-Ereignis nicht auf, und das Dialogfeld Löschen Bestätigen wird nicht angezeigt.

Hinweis

Das AfterDelConfirm-Ereignis tritt nicht auf, und das Dialogfeld Löschen bestätigen wird nicht angezeigt, wenn Sie das Kontrollkästchen Änderungen aufzeichnenunter Bestätigen auf der Registerkarte Bearbeiten des Dialogfelds Zugriffsoptionen deaktivieren.

Durch Ausführen eines Makros oder einer Ereignisprozedur beim Auftreten des Delete-Ereignisses können Sie das Löschen eines Datensatzes verhindern oder nur unter bestimmten Bedingungen zulassen, dass ein Datensatz gelöscht wird. Sie können ein Delete-Ereignis auch verwenden, um ein Dialogfeld anzuzeigen, in dem der Benutzer vor dem Löschen eines Datensatzes gefragt wird, ob er den Datensatz löschen möchte.

Nachdem Sie den Datensatz gelöscht haben, wird der Fokus auf den nächsten Datensatz nach dem gelöschten Datensatz verschoben, und das Current-Ereignis für diesen Datensatz tritt auf, gefolgt von den Enter - und GotFocus-Ereignissen für das erste Steuerelement in diesem Datensatz.

Das BeforeDelConfirm-Ereignis tritt dann ein, kurz bevor Access das Dialogfeld Löschen bestätigen anzeigt, in dem Sie aufgefordert werden, den Löschvorgang zu bestätigen. Wenn Sie die Frage im Dialogfeld durch Bestätigen oder Abbrechen des Löschvorgangs beantwortet haben, tritt das AfterDelConfirm -Ereignis auf.

Es können ein oder mehrere Datensätze gleichzeitig gelöscht werden. Das Delete-Ereignis tritt nach dem Löschen jedes einzelnen Datensatzes auf. Dies ermöglicht es Ihnen, vor dem tatsächlichen Löschen auf die Daten in den einzelnen Datensätzen zuzugreifen und die einzelnen Löschvorgänge im Makro oder der Ereignisprozedur für das Delete-Ereignis zu bestätigen oder abzubrechen. Wenn Sie mehrere Datensätze löschen, treten das Current -Ereignis für den auf den letzten gelöschten Datensatz folgenden Datensatz und die Ereignisse Enter und GotFocus für das erste Steuerelement dieses Datensatzes erst dann auf, wenn alle Datensätze gelöscht sind. Das Delete -Ereignis tritt also für jeden markierten Datensatz auf, jedoch keine weiteren Ereignisse, bis alle markierten Datensätze gelöscht sind. Das AfterDelConfirm-Ereignis tritt ebenfalls erst auf, wenn alle markierten Datensätze gelöscht sind.

Beispiel

Das folgende Beispiel zeigt, wie Sie die BeforeDelConfirm-Ereignisprozedur verwenden können, um das Dialogfeld Löschen bestätigen zu unterdrücken und ein benutzerdefiniertes Dialogfeld anzuzeigen, wenn ein Datensatz gelöscht wird. Außerdem wird gezeigt, wie Sie die AfterDelConfirm-Ereignisprozedur verwenden können, um eine Meldung anzuzeigen, die angibt, ob der Löschvorgang in der üblichen Weise fortgesetzt wurde oder ob er in Visual Basic oder vom Benutzer abgebrochen wurde.

Private Sub Form_BeforeDelConfirm(Cancel As Integer, _ 
 Response As Integer) 
 ' Suppress default Delete Confirm dialog box. 
 Response = acDataErrContinue 
 ' Display custom dialog box. 
 If MsgBox("Delete this record?", vbOKCancel) = vbCancel Then 
 Cancel = True 
 End If 
End Sub 
 
Private Sub Form_AfterDelConfirm(Status As Integer) 
 Select Case Status 
 Case acDeleteOK 
 MsgBox "Deletion occurred normally." 
 Case acDeleteCancel 
 MsgBox "Programmer canceled the deletion." 
 Case acDeleteUserCancel 
 MsgBox "User canceled the deletion." 
 End Select 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.