Office
Aanmelden

Volgorde van gebeurtenissen voor databaseobjecten

Eén bepaalde actie, zoals het verplaatsen van de focus van het ene besturingselement naar een ander besturingselement, kan verschillende andere gebeurtenissen tot gevolg hebben, die in een bepaalde volgorde plaatsvinden. Het is belangrijk om te weten wanneer gebeurtenissen plaatsvinden en in welke volgorde. Dit kan namelijk van invloed zijn op de manier waarop 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 waaraan de procedures 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:

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 Activate (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:

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 (besturingselement) pijl LostFocus (besturingselement) pijl Unload (formulier) pijl Deactivate (formulier) pijl Close (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 Verlaten 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 pijl 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:

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 LostFocus (besturingselement) pijl RecordExit (formulier) 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 Invoeren (besturingselement) pijl GotFocus (besturingselement) pijl BeforeUpdate (besturingselement) pijl AfterUpdate (besturingselement)

  • U verplaatst de focus naar een ander besturingselement:

    Exit (besturingselement1) pijl LostFocus (besturingselement1) pijl InEntervoeren (besturingselement2) pijl GotFocus (besturingselement2)

  • U verplaatst de focus naar een andere record:

    BeforeUpdate (formulier) pijl AfterUpdate (formulier) pijl Exit (besturingselement2) pijl LostFocus (besturingselement2) pijl RecordExit (formulier) 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 BeforeDelConfirm 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 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:

Open pijl Load pijl Resize pijl Activate pijl Current

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:

Verwijderen pijl Uitschakelen pijl Sluiten

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:

Deactivate (formulier1) pijl Activate (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 Resize (formulier) pijl Activate (formulier) pijl Current (formulier) pijl Enter (besturingselement) pijl GotFocus (besturingselement)

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

Exit (besturingselement) pijl LostFocus (besturingselement) pijl Unload (formulier) pijl Deactivate (formulier) pijl Close (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, wordt ook eerst het formulier uit het geheugen verwijderd en dan pas het subformulier met de bijbehorende records. De gebeurtenis Deactivate vindt niet plaats voor subformulieren, dus wordt bij het sluiten van een hoofdformulier alleen voor dat hoofdformulier een gebeurtenis Deactivate uitgevoerd. De gebeurtenissen voor de besturingselementen, het formulier en het subformulier vinden plaats in deze 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 voor een subformulier pas plaatsvinden nadat het hoofdformulier is gesloten, treden bepaalde gebeurtenissen niet op. Denk hierbij aan gebeurtenissen zoals het annuleren van het sluiten van een hoofdformulier vanuit een gebeurtenis in het subformulier. U moet deze typen validatie mogelijk 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 heeft. Muisgebeurtenissen voor formulieren, formuliersecties en besturingselementen op formulieren vinden plaats wanneer u op de muisknoppen drukt terwijl de muisaanwijzer zich in een formulier, sectie of besturingselement bevindt, of wanneer u met 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 Wijzigen 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 Exit 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 Click

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 Click

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 Activate pijl Close pijl Deactivate

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 Activate (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 Activate (rapport) pijl Format (rapportsectie) pijl Print (rapportsectie) pijl Close (rapport) pijl Deactivate (rapport)

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

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

×