Freigeben über


Form.Delete-Ereignis (Access)

Tritt auf, wenn der Benutzer eine Aktion ausführt, z. B. durch Drücken der ENTF-TASTE, um einen Datensatz zu löschen, aber bevor der Datensatz tatsächlich gelöscht wird.

Syntax

Ausdruck. Löschen (Abbrechen)

expression Eine Variable, die ein Form-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Abbrechen Erforderlich Integer Durch die Einstellung wird bestimmt, ob das BeforeUpdate-Ereignis auftritt. Wenn Sie das Cancel-Argument auf True (1) festlegen, wird das Delete-Ereignis abgebrochen.

Hinweise

Um ein Makro oder eine Ereignisprozedur auszuführen, wenn diese Ereignisse auftreten, legen Sie die OnDelete-, BeforeDelConfirm- oder 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. Das BeforeDelConfirm-Ereignis tritt nach dem Delete-Ereignis auf (oder wenn Sie mehrere Datensätze gelöscht haben, nach dem Löschen aller Datensätze mit einem Delete-Ereignis für jeden Datensatz), aber bevor das Dialogfeld Löschen bestätigen angezeigt wird. Durch Abbrechen des BeforeDelConfirm-Ereignisses werden die Datensätze aus dem Puffer wiederhergestellt, und es wird verhindert, dass das Dialogfeld Löschen bestätigen angezeigt wird.

Das AfterDelConfirm Ereignis tritt auf, nachdem ein Datensatz oder Datensätze tatsächlich gelöscht wurden oder nachdem ein oder mehrere Löschvorgänge abgebrochen wurden. Wenn das BeforeDelConfirm -Ereignis nicht abgebrochen wird, tritt das AfterDelConfirm -Ereignis auf, nachdem das Löschen bestätigen-Dialogfeld 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 z. B. ein mit dem AfterDelConfirm-Ereignis verknüpftes Makro verwenden, um Summen neu zu berechnen, die vom Löschen von Datensätzen betroffen sind.

Wenn Sie das Delete-Ereignis abbrechen, treten die Ereignisse BeforeDelConfirm und AfterDelConfirm nicht auf, und das Dialogfeld Löschen bestätigen wird nicht angezeigt.

Hinweis

Die BeforeDelConfirm - und AfterDelConfirm-Ereignisse treten nicht auf, und das Dialogfeld Löschen Bestätigen wird nicht angezeigt, wenn Sie das Kontrollkästchen Änderungen aufzeichnen unter Bestätigen auf der Registerkarte Erweitert des Dialogfelds Zugriffsoptionen deaktivieren, verfügbar, indem Sie die Schaltfläche Microsoft Office auswählen und dann Zugriffsoptionen auswählen.

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.

Um einen Datensatz zu löschen, können Sie im Menü Bearbeiten die Option Datensatz löschen auswählen. Dadurch wird der aktuelle Datensatz (der Datensatz, der durch den Datensatzmarkierer gekennzeichnet ist) gelöscht. Sie können auch die Datensatzauswahl auswählen oder im Menü Bearbeiten die Option Datensatz auswählen auswählen, um den Datensatz auszuwählen, und dann die ENTF-TASTE drücken, um ihn zu löschen. Wenn Sie Datensatz löschen auswählen, die Datensatzauswahl des aktuellen Datensatzes oder Datensatz auswählen, treten die Ereignisse Exit und LostFocus für das Steuerelement mit dem Fokus auf. Wenn Sie Daten im Datensatz geändert haben, treten die Ereignisse BeforeUpdate und AfterUpdate für den Datensatz vor den Ereignissen Exit und LostFocus auf. Wenn Sie die Datensatzauswahl eines anderen Datensatzes auswählen, tritt auch das Aktuelle Ereignis für diesen Datensatz auf.

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 auf, direkt bevor in Microsoft Access das Dialogfeld Löschen bestätigen angezeigt wird, indem 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 mehr als einen Datensatz löschen, treten das Current-Ereignis für den Datensatz nach dem letzten gelöschten Datensatz und die Enter - und GotFocus-Ereignisse für das erste Steuerelement in diesem Datensatz erst ein, wenn alle Datensätze gelöscht wurden. Das Delete -Ereignis tritt also für jeden markierten Datensatz auf, jedoch keine weiteren Ereignisse, bis alle markierten Datensätze gelöscht sind. Ebenso treten die Ereignisse BeforeDelConfirm und AfterDelConfirm erst auf, wenn alle markierten Datensätze gelöscht sind.

Beispiel

Im folgenden Beispiel wird gezeigt, wie Sie verhindern können, dass ein Benutzer Datensätze aus einer Tabelle löscht. Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu, das auf einer Tabelle basiert. Wechseln Sie zur Datenblattansicht des Formulars, und versuchen Sie, einen Datensatz zu löschen.

Private Sub Form_Delete(Cancel As Integer) 
    Cancel = True 
    MsgBox "This record can't be deleted." 
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.