U kunt de actie GebeurtenisAnnuleren gebruiken om de gebeurtenis te annuleren waardoor Access de macro met deze actie heeft gestart. De naam van de macro is de instelling van een gebeurteniseigenschap zoals BeforeUpdate, OnOpen, OnUnload of OnPrint.
Opmerking: De macroactie GebeurtenisAnnuleren is niet beschikbaar in web-apps van Access.
Instelling
De actie GebeurtenisAnnuleren heeft geen argumenten.
Opmerkingen
Op een formulier gebruikt u de actie GebeurtenisAnnuleren meestal in een validatiemacro, samen met de gebeurteniseigenschap BeforeUpdate. Als een gebruiker gegevens invoert in een besturingselement of record, wordt de macro uitgevoerd voordat de gegevens aan de database worden toegevoegd. Als de gegevens niet voldoen aan de voorwaarden voor gegevensvalidatie in de macro, zorgt de actie GebeurtenisAnnuleren ervoor dat het bijwerkenproces niet wordt gestart.
Deze actie wordt vaak gebruikt in combinatie met de actie Berichtvak om aan te geven dat de gegevens niet voldoen aan de voorwaarden voor validatie en om nuttige informatie te verstrekken aan de gebruiker over het type gegevens dat moet worden ingevoerd.
De volgende gebeurtenissen kunnen worden geannuleerd met de actie GebeurtenisAnnuleren.
FilterToepassen |
Dirty |
MouseDown |
BeforeDelConfirm |
Exit |
NoData |
BeforeInsert |
Filter |
Open |
BeforeUpdate |
Format |
|
DblClick |
KeyPress |
Unload |
Delete |
Opmerking: U kunt de actie GebeurtenisAnnuleren alleen gebruiken met de gebeurtenis MouseDown om de gebeurtenis te annuleren die optreedt wanneer u met de rechtermuisknop op een object klikt.
Als in de gebeurteniseigenschap OnDblClick van een besturingselement een macro is opgegeven die de actie GebeurtenisAnnuleren bevat, heeft de actie tot gevolg dat de gebeurtenis DblClick wordt geannuleerd.
Voor gebeurtenissen die kunnen worden geannuleerd, is het standaardgedrag voor de gebeurtenis (dus wat er meestal gebeurt in Access als de gebeurtenis plaatsvindt) van toepassing nadat de macro voor de gebeurtenis is uitgevoerd. Op deze manier kunt u het standaardgedrag annuleren. Als u bijvoorbeeld in een tekstvak dubbelklikt op een woord waarin zich de invoegpositie bevindt, is de standaardinstelling dat het woord wordt geselecteerd. U kunt dit standaardgedrag in de macro annuleren voor de gebeurtenis DblClick en een andere actie uitvoeren, zoals het openen van een formulier met informatie over de gegevens in het tekstvak. Voor gebeurtenissen die niet kunnen worden geannuleerd, vindt het standaardgedrag plaats voordat de macro wordt uitgevoerd.
Opmerking: Als in de gebeurteniseigenschap OnUnload van een formulier een macro is opgegeven waarmee de actie GebeurtenisAnnuleren wordt uitgevoerd, kunt u het formulier niet sluiten. U moet dan de voorwaarde corrigeren waardoor de actie GebeurtenisAnnuleren wordt uitgevoerd of de macro openen en de actie GebeurtenisAnnuleren verwijderen. Als het een modaal formulier is, kunt u de macro niet openen.
Als u de actie GebeurtenisAnnuleren wilt uitvoeren in een VBA-module (Visual Basic for Applications), gebruikt u de methode GebeurtenisAnnuleren van het object DoCmd.
Voorbeeld
Gegevens valideren met behulp van een macro
Met de volgende validatiemacro worden de postcodes gecontroleerd die worden ingevoerd in een formulier Leveranciers. In het voorbeeld ziet u hoe u de acties MacroStoppen, Berichtvak, GebeurtenisAnnuleren en NaarBesturingselementGaan kunt gebruiken. Een voorwaardelijke expressie controleert de waarden die in een record in het formulier worden ingevoerd voor land/regio en postcode. Als de postcode niet de juiste notatie heeft voor het land of de regio, wordt via de macro een berichtvenster weergegeven en wordt de record niet opgeslagen. De gebruiker gaat terug naar het besturingselement Postcode, waar de fout kan worden gecorrigeerd. Deze macro moet worden gekoppeld aan de eigenschap BeforeUpdate van het formulier Leveranciers.
Voorwaarde |
Actie |
Argumenten: instelling |
Opmerking |
IsNull([Land/regio]) |
MacroStoppen |
Als Land/region Null is, kan de postcode niet worden gecontroleerd. |
|
[Land/regio] In ("France","Italy","Spain") And Len ([Postcode]) <> 5 |
Berichtvak |
Bericht: De postcode moet 5 tekens lang zijn. Pieptoon: Ja Type: Informatie Titel: Fout in postcode |
Als de ingevoerde postcode niet uit 5 tekens bestaat, wordt er een bericht weergegeven. |
... |
GebeurtenisAnnuleren |
De gebeurtenis annuleren. |
|
NaarBesturingselementGaan |
Naam van besturingselement: Postcode |
||
[Land/region] In ("Australia","Singapore") And Len ([Postcode]) <> 4 |
Berichtvak |
Bericht: De postcode moet 4 tekens lang zijn. Pieptoon: Ja Type: Informatie Titel: Fout in postcode |
Als de ingevoerde postcode niet uit 4 tekens bestaat, wordt er een bericht weergegeven. |
... |
GebeurtenisAnnuleren |
De gebeurtenis annuleren. |
|
NaarBesturingselementGaan |
Naam van besturingselement: Postcode |
||
([LandRegio] = "Canada") And ([Postcode] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
Berichtvak |
Bericht: De postcode is niet geldig. Voorbeeld van Canadese postcode: H1J 1C3 Pieptoon: Ja Type: Informatie Titel: Fout in postcode |
Als de postcode niet juist is voor Canada, wordt er een bericht weergegeven. (Voorbeeld van Canadese postcode: H1J 1C3) |
... |
GebeurtenisAnnuleren |
De gebeurtenis annuleren. |