Eén actie, zoals het verplaatsen van de ene besturingselement een object naar een ander besturingselement, kan verschillende gebeurtenissen activeren, die in een bepaalde volgorde plaatsvinden. Weten wanneer gebeurtenissen plaatsvinden en in welke volgorde ze plaatsvinden, is belangrijk, omdat dit van invloed kan zijn op hoe en wanneer uw macro's of gebeurtenisprocedures worden uitgevoerd. Als er bijvoorbeeld twee gebeurtenisprocedures zijn die in een bepaalde volgorde moeten worden uitgevoerd, moet u ervoor zorgen dat de gebeurtenissen die aan deze procedures zijn gekoppeld, in dezelfde volgorde plaatsvinden.

In dit artikel

Volgorde van gebeurtenissen voor besturingselementen op formulieren

Gebeurtenissen voor besturingselementen op formulieren vinden plaats wanneer u de focus verplaatst naar een besturingselement en wanneer u gegevens in een besturingselement wijzigt en bijwerkt.

Opmerking: In Microsoft Office Access worden namen van gebeurtenissen anders weergegeven in de Visual Basic Editor dan in het eigenschappenvenster en in de opbouwfunctie voor macro's. De gebeurtenis met de naam Bij focus in het eigenschappenvenster van het formulier en in de opbouwfunctie voor macro's heet bijvoorbeeld GotFocus in de Visual Basic Editor. In de voorbeelden in dit artikel worden de gebeurtenisnamen van VBA (Visual Basic for Applications) gebruikt.

De focus naar een besturingselement verplaatsen

Wanneer u de focus verplaatst naar een besturingselement op een formulier (bijvoorbeeld door een formulier te openen dat een of meer actieve besturingselementen bevat, of door naar een ander besturingselement op hetzelfde formulier te gaan), vinden de gebeurtenissen Enter en GotFocus plaats in deze volgorde:

Enter pijl GotFocus

Wanneer u een formulier opent, vinden de gebeurtenissen Enter en GotFocus plaats na de gebeurtenissen die zijn gekoppeld aan het openen van het formulier (zoals Open, Activate en Current) in deze volgorde:

Open (formulier) pijl(formulier) pijl(formulier) pijlEnter (besturingselement) pijlGotFocus (besturingselement)

Wanneer een besturingselement op een formulier de focus verliest (bijvoorbeeld wanneer u een formulier sluit dat een of meer actieve besturingselementen bevat, of wanneer u naar een ander besturingselement op hetzelfde formulier gaat), vinden de gebeurtenissen Exit en LostFocus plaats in deze volgorde:

Exit pijl LostFocus

Wanneer u een formulier sluit, vinden de gebeurtenissen Exit en LostFocus plaats vóór de gebeurtenissen die zijn gekoppeld aan het sluiten van het formulier (zoals Unload, Deactivate en Close) in deze volgorde:

Exit (control) pijlLostFocus (control) pijlUnload (form) pijlDeactivate (form) pijlClose (form)

Gegevens in een besturingselement wijzigen en bijwerken

Wanneer u gegevens in een besturingselement op een formulier invoert of wijzigt en vervolgens de focus naar een ander besturingselement verplaatst, vinden de gebeurtenissen BeforeUpdate en AfterUpdate plaats:

BeforeUpdate pijl Afte rUpdate

De gebeurtenissen Exit en LostFocus voor een besturingselement waarvan de waarde wordt gewijzigd nadat de gebeurtenissen BeforeUpdate en AfterUpdate zijn uitgevoerd:

BeforeUpdate pijl AfterUpdate pijl Exit pijl LostFocus

Wanneer u de tekst in een tekstvak of in het invoervak van een keuzelijst wijzigt, vindt de gebeurtenis Change plaats. Deze gebeurtenis vindt altijd plaats wanneer de inhoud van het besturingselement wordt gewijzigd en voordat u de focus naar een ander besturingselement of een andere record verplaatst (dus voordat de gebeurtenissen BeforeUpdate en AfterUpdate plaatsvinden). De volgende reeks gebeurtenissen vindt plaats voor iedere toets die u in een tekstvak of het invoervak van een keuzelijst indrukt:

KeyDown pijl KeyPress pijl Dirty pijl Change pijl KeyUp

De gebeurtenis NotInList vindt plaats nadat u een waarde hebt ingevoerd in een keuzelijst met invoervak die niet is gevonden in de keuzelijst en u vervolgens probeert om de focus verplaatsen naar een ander besturingselement of andere record. De gebeurtenis NotInList vindt plaats na de toetsenbordgebeurtenissen en de gebeurtenissen Change voor de keuzelijst met invoervak, maar vóór de gebeurtenissen voor een ander besturingselement of het formulier. Als de eigenschap LimitToList van de keuzelijst met invoervak is ingesteld op Yes, treedt de gebeurtenis Error voor het formulier direct op na de gebeurtenis NotInList:

KeyDown pijl KeyPress pijl Dirty pijl change pijl KeyUp pijl NotInList 0 Error

Naar boven

Volgorde van gebeurtenissen voor records op formulieren

Gebeurtenissen voor records op formulieren vinden plaats wanneer u de focus verplaatst naar een andere record, gegevens in een record bijwerkt, een of meer bestaande records verwijdert of een nieuwe record maakt.

De focus verplaatsen naar records en gegevens in records bijwerken

Wanneer u de focus verplaatst naar een bestaande record op een formulier, gegevens in de record invoert of wijzigt en vervolgens de focus naar een andere record verplaatst, vindt de volgende reeks gebeurtenissen voor het formulier plaats:

Huidige (formulier) pijlBeforeUpdate (formulier) pijlAfterUpdate (formulier) pijl(formulier)

Wanneer u de record met de gewijzigde gegevens verlaat, maar voordat u de volgende record kiest, vinden de gebeurtenissen Exit en LostFocus plaats voor het besturingselement met de focus. Deze gebeurtenissen vinden plaats na de gebeurtenissen BeforeUpdate en AfterUpdate voor het formulier, in deze volgorde:

BeforeUpdate (formulier) pijlAfterUpdate (formulier) pijl(besturingselement) afsluiten pijlLostFocus (besturingselement) pijlhuidige (formulier)

Terwijl u de focus op een formulier van het ene besturingselement naar het andere verplaatst, vinden voor elk besturingselement gebeurtenissen plaats. De volgende gebeurtenisreeksen vinden bijvoorbeeld plaats wanneer u de volgende handelingen uitvoert:

  • U opent een formulier en wijzigt gegevens in een besturingselement:

    Huidige versie (formulier) pijlEnter (besturingselement) pijlGotFocus (besturingselement) pijlBeforeUpdate (besturingselement) pijlAfterUpdate (besturingselement)

  • U verplaatst de focus naar een ander besturingselement:

    Sluit (besturingselement1) pijlLostFocus (besturingselement1) pijlEnter (besturingselement2) pijlGotFocus (besturingselement2)

  • U verplaatst de focus naar een andere record:

    BeforeUpdate (formulier) pijlAfterUpdate (formulier) pijlAfsluiten (besturingselement2) pijlLostFocus (besturingselement2) pijlhuidige (formulier)

Records verwijderen

Wanneer u een record verwijdert, vinden de volgende gebeurtenissen plaats voor het formulier en verschijnt er een dialoogvenster waarin u wordt gevraagd het verwijderen te bevestigen:

De pijl BeforeDelConfirm pijl AfterDelConfirm verwijderen

Als u de gebeurtenis Delete annuleert, vinden de gebeurtenissen BeforeDelConfirm en AfterDelConfirm niet plaats en wordt het dialoogvenster niet weergegeven.

Een nieuwe record maken

Wanneer u de focus verplaatst naar een nieuwe (lege) record op een formulier en vervolgens een nieuwe record maakt door in een besturingselement te typen, vindt de volgende reeks gebeurtenissen plaats:

Huidige regel (formulier) pijlEnter (besturingselement) pijlGotFocus (besturingselement) pijlBeforeInsert (formulier) pijlAfterInsert (formulier)

De gebeurtenis BeforeInsert (formulier) wordt triggers zodra u in het besturingselement begint te typen. De gebeurtenis AfterInsert (formulier) wordt triggers nadat u de record hebt verlaten.

De gebeurtenissen BeforeUpdate en AfterUpdate voor de besturingselementen op het formulier en voor de nieuwe record vinden plaats na de gebeurtenis BeforeInsert en vóór de gebeurtenis AfterInsert.

Naar boven

Volgorde van gebeurtenissen voor formulieren en subformulieren

Gebeurtenissen voor formulieren vinden plaats wanneer u een formulier opent of sluit, naar een ander formulier gaat of met gegevens op een formulier of subformulier werkt.

Een formulier openen en sluiten

Wanneer u een formulier opent, vindt de volgende reeks gebeurtenissen plaats voor het formulier:

Het pijl pijl of pijl huidige pijl openen

Als het formulier geen actieve besturingselementen bevat, vindt de gebeurtenis GotFocus voor het formulier plaats na de gebeurtenis Activate, maar voor de gebeurtenis Current.

Wanneer u een formulier sluit, vindt de volgende reeks gebeurtenissen plaats voor het formulier:

Unload pijl Deactivate pijl Close

Als het formulier geen actieve besturingselementen bevat, vindt de gebeurtenis LostFocus voor het formulier plaats na de gebeurtenis Unload, maar voor de gebeurtenis Deactivate.

Schakelen tussen formulieren

Wanneer u overschakelt tussen twee geopende formulieren, vindt voor het eerste formulier de gebeurtenis Deactivate plaats en voor het tweede formulier de gebeurtenis Activate:

Deactiveren (formulier1) pijlActiveren (formulier2)

De gebeurtenis Deactivate voor een formulier vindt ook plaats wanneer u schakelt tussen het formulier en een ander objecttabblad in Access. De gebeurtenis Deactivate vindt echter niet plaats wanneer u overschakelt naar een dialoogvenster, naar een formulier waarvan de eigenschap PopUp is ingesteld op Ja of naar een venster in een ander programma.

Opmerking:  De gebeurtenis Open vindt niet plaats als u de focus verplaatst naar een formulier dat al is geopend, ook niet als u de focus verplaatst naar dit formulier door de actie OpenForm uit te voeren.

Werken met gegevens op een formulier

Gebeurtenissen voor formulieren en besturingselementen vinden plaats terwijl u op het formulier van de ene naar de andere record gaat en wanneer u gegevens wijzigt. Wanneer u een formulier bijvoorbeeld voor het eerst opent, vindt de volgende reeks gebeurtenissen plaats:

Open pijl pijl(formulier) pijlActivate(formulier) pijlCurrent (formulier) pijlEnter (besturingselement)0 GotFocus (besturingselement) pijl

Wanneer u een formulier sluit, vindt de volgende reeks gebeurtenissen plaats:

Exit (control) pijlLostFocus (control) pijlUnload (form) pijlDeactivate (form) pijlClose (form)

Als u gegevens in een besturingselement hebt gewijzigd, vinden de gebeurtenissen BeforeUpdate en AfterUpdate voor het besturingselement en het formulier plaats vóór de gebeurtenis Exit voor het besturingselement.

Werken met subformulieren

Wanneer u een formulier opent dat een subformulier bevat, worden het subformulier en de bijbehorende records geladen vóór het hoofdformulier. De gebeurtenissen voor het subformulier en de bijbehorende besturingselementen (zoals Open, Current, Enter en GotFocus) vinden dus plaats vóór de gebeurtenissen voor het formulier. De gebeurtenis Activate wordt echter niet uitgevoerd voor subformulieren. Wanneer u een hoofdformulier opent, wordt de gebeurtenis Activate daarom alleen uitgevoerd voor het hoofdformulier.

Wanneer u een formulier sluit dat een subformulier bevat, worden ook het subformulier en de records ervan na het formulier verwijderd. De gebeurtenis Deactivate vindt niet plaats voor subformulieren. Als u een hoofdformulier sluit, wordt daarom alleen voor het hoofdformulier de gebeurtenis Deactivate activeren. De gebeurtenissen voor de besturingselementen, het formulier en het subformulier vinden plaats in de volgende volgorde:

  1. Gebeurtenissen voor de besturingselementen van het subformulier (zoals Exit en LostFocus)

  2. Gebeurtenissen voor de formulierbesturingselementen (met inbegrip van het besturingselement van het subformulier)

  3. Gebeurtenissen voor het formulier (zoals Deactivate en Close)

  4. Gebeurtenissen voor het subformulier

Opmerking: Omdat de gebeurtenissen voor een subformulier plaatsvinden nadat het hoofdformulier is gesloten, vinden bepaalde gebeurtenissen niet plaats, zoals het annuleren van het sluiten van het hoofdformulier vanuit een gebeurtenis in het subformulier. Mogelijk moet u deze typen validatietests verplaatsen naar een gebeurtenis in het hoofdformulier.

Naar boven

Volgorde van gebeurtenissen voor toetsaanslagen en muisklikken

Toetsenbordgebeurtenissen voor formulieren en besturingselementen vinden plaats wanneer u op toetsen drukt of toetsaanslagen verzendt terwijl het formulier of besturingselement de focus. Muisgebeurtenissen voor formulieren, formuliersecties en besturingselementen in formulieren vinden plaats wanneer u met de muisknop in een formulier, sectie of besturingselement klikt. Muisgebeurtenissen vinden ook plaats wanneer u de muisaanwijzer over een formulier, sectie of besturingselement beweegt.

Toetsenbordgebeurtenissen

Wanneer u een toets indrukt en loslaat terwijl een besturingselement op een formulier de focus heeft (of wanneer u een toetsaanslag verzendt met de actie of instructieSendKeys), vindt de volgende reeks gebeurtenissen plaats:

KeyDown pijl KeyPress pijl KeyUp

Wanneer u een toets indrukt en loslaat of een toetsaanslag verzendt in de ANSI-tekenset, vinden de gebeurtenissen KeyDown, KeyPress en KeyUp allemaal plaats. Als u een ANSI-toets ingedrukt houdt, vinden de gebeurtenissen KeyDown en KeyPress herhaaldelijk om de beurt plaats (KeyDown, KeyPress, KeyDown, KeyPress, enzovoort) totdat u de toets loslaat, waarna de gebeurtenis KeyUp wordt uitgevoerd.

Als u een niet-ANSI-toets indrukt en loslaat, vinden de gebeurtenissen KeyDown en KeyUp plaats. Als u een niet-ANSI-toets ingedrukt houdt, vindt de gebeurtenis KeyDown herhaaldelijk plaats totdat u de toets loslaat, waarna de gebeurtenis KeyUp wordt uitgevoerd.

Als door het indrukken van een toets een andere gebeurtenis voor een besturingselement wordt geactiveerd, vindt deze andere gebeurtenis plaats na de gebeurtenis KeyPress, maar vóór de gebeurtenis KeyUp. Als bijvoorbeeld met een toetsaanslag tekst in een tekstvak wordt gewijzigd, waardoor een gebeurtenis Wijzigen wordt uitgevoerd, vindt de volgende reeks gebeurtenissen plaats:

KeyDown pijl KeyPress pijl Change pijl KeyUp

Als met een toetsaanslag de focus van het ene besturingselement naar het andere wordt verplaatst, vindt de gebeurtenis KeyDown plaats voor het eerste besturingselement, terwijl de gebeurtenissen KeyPress en KeyUp voor het tweede besturingselement plaatsvinden. Als u bijvoorbeeld gegevens in een besturingselement wijzigt en vervolgens op Tab drukt om naar het volgende besturingselement te gaan, vindt de volgende reeks gebeurtenissen plaats:

  • Eerste besturingselement:

    KeyDown pijl BeforeUpdate pijl AfterUpdate pijl En pijl LostFocus

  • Tweede besturingselement:

    Enter pijl GotFocus pijl KeyPress pijl KeyUp

Muisgebeurtenissen

Wanneer u een muisknop indrukt en loslaat terwijl de muisaanwijzer zich op een besturingselement van een formulier bevindt, vindt de volgende reeks gebeurtenissen plaats voor het besturingselement:

MouseDown pijl MouseUp pijl klikken

Als een besturingselement de focus heeft en u op een ander besturingselement klikt om de focus naar dit tweede besturingselement te verplaatsen, vindt de volgende reeks gebeurtenissen plaats:

  • Eerste besturingselement:

    Exit pijl LostFocus

  • Tweede besturingselement:

    Enter pijl GotFocus pijl MouseDown pijl MouseUp pijl klikken

Als u naar een andere record gaat en vervolgens op een besturingselement klikt, vindt ook de gebeurtenis Current voor het formulier plaats voordat de gebeurtenis Enter voor het besturingselement plaatsvindt.

Wanneer u dubbelklikt op een besturingselement, vinden de gebeurtenissen Click en DblClick plaats. Wanneer u bijvoorbeeld dubbelklikt op een besturingselement, met uitzondering van een opdrachtknop, vindt de volgende reeks gebeurtenissen plaats voor het besturingselement:

Moused own pijl MouseUp pijl Click pijl DblClick pijl MouseUp

Wanneer u dubbelklikt op een opdrachtknop, vindt na de bovenstaande reeks gebeurtenissen nog een tweede gebeurtenis Klikken plaats.

De gebeurtenis MouseMove voor een formulier, sectie of besturingselement vindt plaats wanneer u de muisaanwijzer over het formulier, de sectie of het besturingselement beweegt. Deze gebeurtenis is niet afhankelijk van de andere muisgebeurtenissen.

Naar boven

Volgorde van gebeurtenissen voor rapporten en rapportsecties

Gebeurtenissen voor rapporten en rapportsecties vinden plaats wanneer u een rapport opent om het af te drukken of er een afdrukvoorbeeld van te bekijken, of wanneer u een rapport sluit.

Gebeurtenissen voor rapporten

Wanneer u een rapport opent om het af te drukken of een afdrukvoorbeeld ervan te bekijken en vervolgens het rapport sluit of naar een ander venster in Access gaat, vindt de volgende reeks gebeurtenissen plaats voor het rapport:

Open pijl deactiveren pijl deactiveren pijl sluiten

Wanneer u schakelt tussen twee geopende rapporten, vindt de gebeurtenis Deactivate plaats voor het eerste rapport en de gebeurtenis Activate voor het tweede rapport:

Activeren (rapport1) pijl (rapport2)

De gebeurtenis Deactivate voor een rapport vindt ook plaats wanneer u van een rapport overschakelt naar een ander objecttabblad in Access. De gebeurtenis Deactivate vindt echter niet plaats wanneer u overschakelt naar een dialoogvenster, naar een formulier waarvan de eigenschap PopUp is ingesteld op Ja of naar een venster in een ander programma.

Wanneer u een rapport opent dat is gebaseerd op een query, wordt in Access de gebeurtenis Open uitgevoerd voor het rapport voordat de onderliggende query wordt uitgevoerd. Hierdoor kunt u de criteria voor het rapport instellen met een macro of gebeurtenisprocedure die reageert op de gebeurtenis Openen. Met de macro of gebeurtenisprocedure kan bijvoorbeeld een aangepast dialoogvenster worden geopend waarin u de rapportcriteria invoert.

Gebeurtenissen voor rapportsecties

Wanneer u een rapport afdrukt of een afdrukvoorbeeld hiervan bekijkt, vinden de gebeurtenissen Format en Print voor de rapportsecties plaats na de gebeurtenissen Open en Activate voor het rapport en vóór de gebeurtenissen Close of Deactivate van het rapport:

Openen (rapport) pijl(rapport) pijl (rapportsectie) pijl(rapportsectie) afdrukken pijlsluiten (rapport) pijldeactiveren (rapport)

Beveiliging    U kunt rapportweergave gebruiken om gebruikersfilters van rapporten in te stellen. In tegenstelling tot het afdrukvoorbeeld vinden de gebeurtenissen Opmaak en Afdrukken in een sectie niet plaats in de rapportweergave. Dit geldt ook voor de resultaten van de VBA-functie en door de gebruiker gedefinieerde procedures die in besturingselementen worden weergegeven (zoals labelbijschriften, weergavestatus, voorwaardelijke opmaak, het formaat van besturingselementen wijzigen, en dergelijke) in deze gebeurtenissen. Gebruik daarom in dit geval geen code om vertrouwelijke gegevens op te maken, te verbergen of af te drukken, die mogelijk zichtbaar worden. Het is raadzaam de gegevens vooraf te filteren of Rapportvoorbeeld uit te stellen door de eigenschap AllowReportView in te stellen op Nee.

Bovendien kunnen de volgende gebeurtenissen plaatsvinden tijdens of na het opmaken, maar vóór de gebeurtenis Print:

  • De gebeurtenis Retreat vindt plaats wanneer tijdens het opmaken van een rapport wordt teruggegaan naar een vorige sectie.

  • De gebeurtenis NoData vindt plaats als er in het rapport geen records worden weergegeven.

  • De gebeurtenis Pagina vindt plaats na het opmaken, maar vóór het afdrukken. Met deze gebeurtenis kunt u het uiterlijk van het afgedrukte rapport aanpassen.

Naar boven

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft Office Insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?

Bedankt voor uw feedback.

×