Freigeben über


CancelEvent-Makroaktion

Gilt für: Access 2013, Office 2013

Sie können die CancelEvent-Aktion verwenden, um das Ereignis abzubrechen, durch das Access das Makro ausgeführt hat, das diese Aktion enthält. Der Makroname entspricht der Einstellung einer Ereigniseigenschaft, z. B. VorAktualisierung, BeimÖffnen, BeiEntladen oder BeimDrucken.

Einstellung

Die AbbrechenEreignis-Aktion hat keine Argumente.

Hinweise

In einem Formular verwenden Sie die AbbrechenEreignis-Aktion üblicherweise in einem Gültigkeitsprüfungsmakro mit der VorAktualisierung-Ereigniseigenschaft. Wenn ein Benutzer Daten in ein Steuerelement oder in einen Datensatz eingibt, führt Access zunächst das Makro aus und fügt dann der Datenbank die Daten hinzu. Wenn die Daten die Bedingungen der Gültigkeitsprüfung im Makro nicht erfüllen, bricht die AbbrechenEreignis-Aktion den Aktualisierungsvorgang vor dem Starten ab.

Diese Aktion wird häufig zusammen mit der Meldungsfeld-Aktion verwendet, um anzugeben, dass die Daten die Bedingungen der Gültigkeitsprüfung nicht erfüllen, und um nützliche Informationen zu der Art von Daten bereitzustellen, die eingegeben werden sollen.

Die folgenden Ereignisse können von der AbbrechenEreignis-Aktion abgebrochen werden.

ApplyFilter

Dirty

MouseDown

BeforeDelConfirm

Exit

NoData

BeforeInsert

Filter

Open

BeforeUpdate

Format

Print

DblClick

KeyPress

Unload

Löschen

Hinweis

Sie können die AbbrechenEreignis-Aktion mit dem MouseDown-Ereignis nur dazu verwenden, das Ereignis abzubrechen, das beim Klicken mit der rechten Maustaste auftritt.

Wenn die BeimDoppelklicken -Ereigniseigenschaft ein Makro angibt, das die AbbrechenEreignis -Aktion enthält, wird durch diese Aktion das DblClick -Ereignis abgebrochen.

Nachdem das Makro für das Ereignis ausgeführt wurde, tritt für Ereignisse, die abgebrochen werden können, das Standardverhalten für das Ereignis ein (d. h. das Verhalten, das Access normalerweise zeigt, wenn das Ereignis eintritt). Auf diese Weise können Sie das Standardverhalten abbrechen. Wenn Sie beispielsweise auf ein Wort doppelklicken, auf dem sich die Einfügemarke in einem Textfeld befindet, wird das Wort normalerweise in Access markiert. Sie können dieses Standardverhalten in dem Makro für das DblClick-Ereignis abbrechen und eine andere Aktion ausführen, z. B. das Öffnen eines Formulars, das Information zu den Daten in dem Textfeld enthält. Für Ereignisse, die nicht abgebrochen werden können, tritt das Standardverhalten ein, bevor das Makro ausgeführt wird.

Hinweis

Wenn die BeiEntladen-Ereigniseigenschaft eines Formulars ein Makro angibt, das eine AbbrechenEreignis-Aktion ausführt, können Sie das Formular nicht schließen. Sie müssen entweder die Bedingung berichtigen, die das Ausführen der AbbrechenEreignis-Aktion verursacht hat, oder das Makro öffnen und die AbbrechenEreignis-Aktion löschen. Wenn es sich bei dem Formular um ein modales Formular handelt, können Sie das Makro nicht öffnen.

Verwenden Sie die CancelEvent-Methode des DoCmd-Objekts, um die AbbrechenEreignis-Aktion in einem VBA-Modul (Visual Basic für Applikationen) auszuführen.

Beispiel

Überprüfen der Gültigkeit von Daten mithilfe eines Makros

Mit dem folgenden Gültigkeitsprüfungsmakro werden die Postleitzahlen überprüft, die im Lieferantenformular eingegeben werden. Es zeigt die Verwendung der Aktionen StopMacro, MessageBox, CancelEvent und GoToControl. A conditional expression checks the country/region and postal code entered in a record on the form. If the postal code is not in the right format for the country/region, the macro displays a message box and cancels saving the record. It then returns you to the Postal Code control, where you can correct the error. This macro should be attached to the BeforeUpdate property of the Suppliers form.

Bedingung

Aktion

Argumente: Einstellung

Kommentar

IsNull([CountryRegion])

StopMacro

Wenn CountryRegion null ist, kann die Postleitzahl nicht überprüft werden.

[CountryRegion] In ("Frankreich","Italien","Spanien") und Len([Postleitzahl]) <> 5

MessageBox

Meldung: Die Postleitzahl muss 5 Zeichen lang sein. Signalton: Ja Typ: Informationstitel : Postleitzahlfehler

Zeigt eine Meldung an, wenn die Postleitzahl nicht 5 Zeichen lang ist.

...

AbbrechenEreignis

Bricht das Ereignis ab.

GoToControl

Steuerelementname: Postleitzahl

[CountryRegion] In ("Australien","Singapur") und Len([Postleitzahl]) <> 4

MessageBox

Meldung: Die Postleitzahl muss 4 Zeichen lang sein. Signalton: Ja Typ: Informationstitel : Postleitzahlfehler

Zeigt eine Meldung an, wenn die Postleitzahl nicht 4 Zeichen lang ist.

...

AbbrechenEreignis

Bricht das Ereignis ab.

GoToControl

Steuerelementname: Postleitzahl

([Land/Region] = "Kanada") Und ([Postleitzahl] Nicht wie"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]")

MessageBox

Meldung: Die Postleitzahl ist ungültig. Beispiel für den kanadischen Code: H1J 1C3 Signalton: Ja Typ: Informationstitel : Postleitzahlfehler

Zeigt eine Meldung an, wenn eine für Kanada ungültige Postleitzahl angegeben wird. (Beispiel für eine kanadische Postleitzahl: H1J 1C3).

...

AbbrechenEreignis

Bricht das Ereignis ab.