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 |
|
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. |