Volgorde van gebeurtenissen voor databaseobjecten

Eén actie, zoals overstappen van een besturingselement op een object naar een ander besturingselement, kan verschillende gebeurtenissen activeren die zich in een bepaalde volgorde voordoen. Wanneer gebeurtenissen zich voordoen en in welke volgorde ze plaatsvinden, is het belangrijk, omdat dit van invloed kan zijn op hoe en wanneer uw macro's of gebeurtenisprocedures worden uitgevoerd. Als u bijvoorbeeld twee gebeurtenisprocedures moet uitvoeren in een bepaalde volgorde, moet u ervoor zorgen dat de gebeurtenissen waaraan ze zijn gekoppeld, in dezelfde volgorde plaatsvinden.

In dit artikel

Volgorde van gebeurtenissen voor besturingselementen op formulieren

Volgorde van gebeurtenissen voor records op formulieren

Volgorde van gebeurtenissen voor formulieren en subformulieren

Volgorde van gebeurtenissen voor toetsaanslagen en muisklikken

Volgorde van gebeurtenissen voor rapporten en rapportsecties

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:

Voer pijl focus in

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 Activeer (formulier) pijl Current (formulier) pijl Enter (besturingselement) pijl GotFocus (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:

pijl FocusVerlorensluiten

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 (besturingselement) pijl FocusVerloren (besturingselement) pijl unload (formulier) pijl Deactivate (formulier) pijl sluiten (formulier)

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 afterUpdate

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 #x4 FocusVerlorenverlaten

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:

Toetsomlaag pijl toetsindrukken pijl Dirty pijl wijzigen pijl ToetsOmhoog

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:

Toetsomlaag pijl toetsindrukken pijl Dirty pijl wijzigen pijl KeyUp pijl fout0 NietInLijst

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:

Current (formulier) pijl BeforeUpdate (formulier) pijl AfterUpdate (formulier) pijl Current (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) pijl AfterUpdate (formulier) pijl verlaten (besturingselement) pijl FocusVerloren (besturingselement) pijl Current (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:

    Current (formulier) pijl Enter (besturingselement) pijl GotFocus (besturingselement) pijl BeforeUpdate (besturingselement) pijl AfterUpdate (besturingselement)

  • U verplaatst de focus naar een ander besturingselement:

    Exit (besturingselement1 inentervoeren) pijl FocusVerloren (besturingselement1 inentervoeren) pijl Enter (besturingselement2) pijl focus (besturingselement2)

  • U verplaatst de focus naar een andere record:

    BeforeUpdate (formulier) pijl AfterUpdate (formulier) pijl Exit (besturingselement2) pijl lostFocus (besturingselement2) pijl Current (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:

Delete pijl BevestigenVoorVerwijderen pijl AfterDelConfirm

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:

Current (formulier) pijl Enter (besturingselement) pijl GotFocus (besturingselement) pijl BeforeInsert (formulier) pijl AfterInsert (formulier)

De gebeurtenis wordt geactiveerd wanneer u in het besturingselement begint te typen. Wanneer u de record hebt ingevuld, wordt de gebeurtenis geactiveerd met de gebeurtenis AfterInsert (formulier).

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.

Boven aan pagina

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 formaat van pijl laden pijl openen pijl #x6 huidigeactiveren

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:

pijl sluiten pijl deactiveren

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:

Activeren (Formulier1) pijl activeren(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 (formulier) pijl Load (formulier) pijl formaat (formulier) pijl activeren (formulier) pijl Current (formulier) pijl Enter (besturingselement)0 focus (besturingselement)

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

Exit (besturingselement) pijl lostFocus (besturingselement) pijl Unload (formulier) pijl Deactivate (formulier) pijl sluiten (formulier)

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 het subformulier en de bijbehorende records niet geladen na het formulier. De gebeurtenis Deactivate vindt niet plaats voor subformulieren. Als u een hoofdformulier sluit, wordt daardoor alleen de gebeurtenis Deactivate geactiveerd voor het hoofdformulier. De gebeurtenissen voor de besturingselementen, formulier en subformulier vinden zich 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: Aangezien de gebeurtenissen van een subformulier plaatsvinden nadat het hoofdformulier is gesloten, worden bepaalde gebeurtenissen, zoals het annuleren van de afsluiting van het hoofdformulier vanuit een gebeurtenis in het subformulier, niet uitgevoerd. Mogelijk moet u deze typen validatietests verplaatsen naar een gebeurtenis in het hoofdformulier.

Boven aan pagina

Volgorde van gebeurtenissen voor toetsaanslagen en muisklikken

Toetsenbordgebeurtenissen voor formulieren en besturingselementen vindt plaats wanneer u op toetsen drukt of toetsaanslagen verstuurt terwijl het formulier of besturingselement de focus heeft. Muisgebeurtenissen vinden plaats voor formulieren, formuliersecties en besturingselementen op formulieren wanneer u op de muis knoppen klikt terwijl de muisaanwijzer zich op een formulier, sectie of besturingselement bevindt. 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:

Toetsomlaag pijl ToetsIndrukken pijl ToetsOmhoog

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:

Toetsomlaag pijl ToetsIndrukken pijl #x4 ToetsOmhoogwijzigen

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 verlaten pijl FocusVerloren

  • Tweede besturingselement:

    Voer pijl focus pijl ToetsIndrukken pijl ToetsOmhoog

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:

Muisomlaag pijl MuisOmhoog 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:

    pijl FocusVerlorensluiten

  • Tweede besturingselement:

    Voer pijl focus pijl MuisOmlaag 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:

Plaats de muisaanwijzer op de knop pijl MuisOmhoog pijl Klik op pijl DblClick pijl MuisOmhoog

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:

pijl activeren pijl sluiten pijl deactiveren

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

Deactivate (rapport1) pijl activeren (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:

Open (rapport) pijl activeren (rapport) pijl indeling (rapportsectie) pijl Print (rapportsectie) pijl sluiten (rapport) pijl Deactivate (rapport)

Beveiliging    U kunt de rapportweergave gebruiken om gebruikers van rapporten te filteren. In tegenstelling tot afdrukvoorbeeld worden de gebeurtenissen opmaak en afdrukken in een sectie niet weergegeven in de rapportweergave. Dit geldt ook voor resultaten van VBA-functies en door de gebruiker gedefinieerde procedures die worden weergegeven in besturingselementen (zoals bijschriften, weergave status, voorwaardelijke opmaak, formaat van besturingselementen wijzigen, enzovoort) binnen deze gebeurtenissen. Gebruik daarom niet de code in deze gebeurtenis om vertrouwelijke gegevens op te maken, te verbergen of af te drukken, wat kan worden weergegeven. U wordt aangeraden de gegevens vooraf te filteren of het rapportvoorbeeld uit te schakelen 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

Opmerking:  Deze pagina is automatisch vertaald en kan grammaticale fouten of onnauwkeurigheden bevatten. Wij hopen dat deze inhoud nuttig voor je is. Wil je ons laten weten of deze informatie nuttig is? Hier is het Engelstalige artikel ter referentie.

Meer hulp nodig?

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

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagenten.

×