Jedna akcia, napríklad prechod z jedného ovládacieho prvku na objekte na iný ovládací prvok, môže spustiť viacero rôznych udalostí, ktoré sa vyskytnú v určitej sekvencii. Je dôležité vedieť, kedy udalosti nastanú a v akom poradí, pretože to môže ovplyvniť, ako a kedy sa vaše makrá alebo udalostné procedúry spustia. Ak napríklad existujú dve udalostné procedúry, ktoré majú byť spustené v určitom poradí, chcete sa uistiť, že udalosti, ku ktorým sú priradené, nastanú v rovnakom poradí.
Obsah tohto článku
- Poradie udalostí pre ovládacie prvky vo formulároch
- Poradie udalostí pre záznamy vo formulároch
- Poradie udalostí pre formuláre a podformuláre
- Poradie udalostí pre stlačenia klávesov a kliknutia myšou
- Poradie udalostí pre zostavy a sekcie zostáv
Poradie udalostí pre ovládacie prvky vo formulároch
Udalosti pre ovládacie prvky vo formulároch nastanú, keď presuniete zameranie na ovládací prvok a keď zmeníte a aktualizujete údaje v ovládacom prvku.
Poznámka
Microsoft Office Access zobrazuje názvy udalostí v editore jazyka Visual Basic trochu inak, než to robí v hárku vlastností a v Zostavovači makier. Udalosť s názvom On Got Focus v hárku vlastností formulára a v Zostavovači makier sa napríklad v editore jazyka Visual Basic volá GotFocus. V príkladoch v tomto článku je pre názvy udalostí použitý formát jazyka Visual Basic pre aplikácie (VBA).
Premiestnenie zamerania na ovládací prvok
Pri premiestnení zamerania na ovládací prvok vo formulári (napríklad otvorením formulára, ktorý obsahuje jeden alebo viac aktívnych ovládacích prvkov alebo premiestnením zamerania na iný ovládací prvok v tom istom formulári), nastanú udalosti Enter a GotFocus v tomto poradí:
Enter
GotFocus
Ak otvoríte formulár, nastanú udalosti Enter a GotFocus po udalostiach spojených s otvorením formulára (napríklad Open, Activate a Current) v nasledujúcim poradí:
Šípka otvorenia (formulára) 
Activate (formulár)
aktuálneho (formulára) Enter (ovládací prvok)
(ovládací prvok)
Pri presune zamerania preč z ovládacieho prvku vo formulári (napríklad pri zatvorení formulára, ktorý obsahuje jeden alebo viac aktívnych ovládacích prvkov alebo premiestnením na iný ovládací prvok v tom istom formulári), nastanú udalosti Exit a GotFocus v tomto poradí:
Ukončiť
LostFocus
Pri zatvorení formulára nastanú udalosti Exit a LostFocus pred udalosťami súvisiacimi so zatvorením formulára (napríklad Unload, Deactivate a Close) v nasledujúcom poradí:
ukončenia (ovládacieho prvku)
LostFocus (ovládací prvok)
Unload (formulár)
Deactivate (formulár) Zavrieť (formulár)
Zmena a aktualizácia údajov v ovládacom prvku
Ak zadáte alebo zmeníte údaje v ovládacom prvku vo formulári a potom premiestníte zameranie na iný ovládací prvok, nastanú udalosti BeforeUpdate a AfterUpdate:
BeforeUpdate AfterUpdate
Udalosti Exit a LostFocus pre ovládací prvok so zmenenou hodnotou nastanú po udalostiach BeforeUpdate a AfterUpdate:
Šípka PredAktualizovať
po aktualizácii
ukončeniaLost Focus
Ak zmeníte text v textovom poli alebo v časti textového poľa v rozbaľovacom poli, nastane udalosť Change. Táto udalosť nastane pri každej zmene obsahu ovládacieho prvku, ale pred premiestnením zamerania na iný ovládací prvok alebo záznam (a teda pred výskytom udalostí BeforeUpdate a AfterUpdate). Nasledujúca postupnosť udalostí sa vyskytne pri každom stlačení klávesu v textovom poli alebo v časti textového poľa v rozbaľovacom poli:
nadolKláves Stlačte kláves
Ušretá
na zmenu
Kláves nahor
Udalosť NotInList nastane po tom, čo zadáte hodnotu v rozbaľovacom poli, ktorá nie je v zozname rozbaľovacieho poľa, a potom sa pokúsite presunúť zameranie na ďalší ovládací prvok alebo záznam. Udalosť NotInList nastane po udalostiach klávesnice a udalostiach Change v rozbaľovacom poli, ale pred udalosťami pre iný ovládací prvok alebo formulár. Ak je vlastnosť LimitToList rozbaľovacieho poľa nastavená na hodnotu Áno, udalosť Error pre formulár nastane bezprostredne po udalosti NotInList :
nadolŠípka klávesu Stlačený kláves
Špinavá
na zmenu
nahor
NotInList
Chyba
Poradie udalostí pre záznamy vo formulároch
V prípade záznamov vo formulároch nastanú udalosti v situácii, keď premiestníte zameranie na iný záznam, aktualizujete údaje v zázname, odstránite existujúci záznam alebo záznamy alebo vytvoríte nový záznam.
Presun zamerania na záznamy a aktualizácia údajov v záznamoch
Ak premiestníte zameranie na existujúci záznam vo formulári, zadáte alebo zmeníte údaje v tomto zázname, a potom premiestníte zameranie na ďalší záznam, pre formulári sa vygeneruje nasledujúca postupnosť udalostí :
Aktuálne (formulár) Šípka BeforeUpdate (formulár)
PoAktualizácii (formulár)
Aktuálne (formulár)
Po opustení záznamu, ktorého údaje boli zmenené, ale pred zadaním ďalšieho záznamu, nastanú pre ovládací prvok, ktorý má zameranie, udalosti Exit a LostFocus. Tieto udalosti nastanú po udalostiach pre formulár BeforeUpdate a AfterUpdate v tomto poradí:
BeforeUpdate (formulár)
AfterUpdate (formulár) Šípka na ukončenie (ovládací prvok)
LostFocus (ovládací prvok)
Aktuálny (formulár)
Keď presúvate zameranie medzi ovládacími prvkami vo formulári, udalosti nastanú pre každý ovládací prvok. V prípade nasledujúcich akcií napríklad nastane nasledujúca postupnosť udalostí:
- Otvorenie formulára a zmena údajov v ovládacom prvku:
aktuálnej položky (formulára) Enter (ovládací prvok)
GotFocus (ovládací prvok)
BeforeUpdate (ovládací prvok)
AfterUpdate (ovládací prvok) AfterUpdate (ovládací prvok) - Prechod na iný ovládací prvok:
ukončenia (ovládací prvok1) Šípka LostFocus (ovládací prvok1) 
Enter (ovládací prvok2) GotFocus (ovládací prvok2) - Prechod na iný záznam:
BeforeUpdate (formulár)
AfterUpdate (formulár)
Exit (ovládací prvok2)
LostFocus (ovládací prvok2) Aktuálny (formulár)
Odstránenie záznamov
Ak odstránite záznam, pre formulár sa vygenerujú nasledujúce udalosti a Microsoft Office Access zobrazí dialógové okno so žiadosťou o potvrdenie odstránenia:
Šípka odstránenia
predŠípka DelConfirm
AfterDelConfirm
Ak udalosť Delete zrušíte, udalosti BeforeDelConfirm a AfterDelConfirm nenastanú a dialógové okno sa nezobrazí.
Vytvorenie nového záznamu
Ak premiestníte zameranie na nový (prázdny) záznam vo formulári a potom vytvoríte nový záznam zadaním údajov do ovládacieho prvku, nastane nasledujúca postupnosť udalostí:
aktuálnej položky (formulára) Enter (ovládací prvok)
(ovládací prvok)
(ovládací prvok) GotFocus (ovládací prvok)
(formulár) AfterInsert (formulár)
Udalosť BeforeInsert (formulár) sa spustí hneď po začatí zadávania textu do ovládacieho prvku. Udalosť Po vložení (formulár) sa spustí po opustení záznamu.
Udalosti BeforeUpdate a AfterUpdate pre ovládacie prvky vo formulári a pre nový záznam nastanú po udalosti BeforeInsert a pred udalosťou AfterInsert.
Poradie udalostí pre formuláre a podformuláre
V prípade formulára nastanú udalosti, keď otvoríte alebo zatvoríte formulár, premiestníte sa medzi formulármi alebo pracujete s údajmi vo formulári alebo podformulári.
Otvorenie a zatvorenie formulára
Pri otvorení formulára nastane pre formulár nasledujúca postupnosť udalostí:
na otvorenie
načítania
na zmenu veľkosti
na aktiváciuAktuálny
Ak neexistujú žiadne aktívne ovládacie prvky vo formulári, udalosť GotFocus pre formulár nastane po výskyte udalosti Activate, ale pred udalosťou Current.
Pri zatvorení formulára pre formulár nastane nasledujúca postupnosť udalostí:
Unload
Deactivate
arrow Close
Ak vo formulári nie sú žiadne aktívne ovládacie prvky, udalosť LostFocus pre formulár nastane po udalosti Unload , ale pred udalosťou Deactivate .
Presun medzi formulármi
Pri prepínaní medzi dvoma otvorenými formulármi nastane udalosť Deactivate pre prvý formulár a udalosť Activate pre druhý formulár:
Deactivate (formulár1) Activate (formulár2)
Udalosť Deactivate nastane pri formulári aj pri prepnutí z formulára na inú kartu objektu v programe Access. Udalosť Deactivate však nenastane, ak sa prepnete do dialógového okna, do formulára, ktorého vlastnosť PopUp je nastavená na hodnotu Áno alebo do okna v inom programe.
Poznámka
Udalosť Open sa nevyskytne, ak premiestníte zameranie do formulára, ktorý je už otvorený, ani v prípade, že ste premiestnili zameranie do tohto formulára vykonaním akcie OpenForm.
Práca s údajmi vo formulári
V prípade formulára a ovládacích prvkov nastanú udalosti pri presúvaní medzi záznamami vo formulári a pri zmene údajov. Pri prvom otvorení formulára nastane napríklad nasledujúca postupnosť udalostí:
otvorenia (formulár) Šípka načítania (formulár)
na zmenu veľkosti (formulár)
Activate (formulár)
aktuálneho (formulára)
Enter (ovládací prvok)
GotFocus (ovládací prvok)
Podobne pri zatvorení formulára nastane nasledujúca postupnosť udalostí:
ukončenia (ovládacieho prvku)
LostFocus (ovládací prvok)
Unload (formulár)
Deactivate (formulár) Zavrieť (formulár)
Ak ste zmenili údaje v ovládacom prvku, nastanú udalosti BeforeUpdate a AfterUpdate pre ovládací prvok aj formulár pred udalosťou Exit pre ovládací prvok.
Práca s podformulármi
Keď otvoríte formulár s podformulárom, podformulár a jeho záznamy sa načítajú pred načítaním hlavného formulára. Znamená to, že udalosti pre podformulár a jeho ovládacie prvky (ako napríklad Open, Current, Enter a GotFocus) nastanú skôr než udalosti pre formulár. Pre podformuláre sa však nevyskytuje udalosť Activate. Z tohto dôvodu otvorenie hlavného formulára spustí udalosť Activate len pre hlavný formulár.
Podobne pri zatvorení formulára, ktorý obsahuje podformulár, je podformulár so svojimi záznamami uvoľnený až hlavnom formulári. Pre podformuláre sa udalosť Deactivate nevyskytuje. Z tohto dôvodu zatvorenie hlavného formulára spustí udalosť Deactivate len pre hlavný formulár. Udalosti pre ovládacie prvky, formulár a podformulár sa vyskytujú v tomto poradí:
- Udalosti pre ovládacie prvky podformulára (napríklad Exit a LostFocus)
- Udalosti pre ovládacie prvky formulára (vrátane ovládacieho prvku podformulára)
- Udalosti pre formulár (napríklad Deactivate a Close)
- Udalosti pre podformulár
Poznámka
Vzhľadom na to, že udalosti pre podformulár sú generované po zatvorení hlavného formulára, určité udalosti sa neuskutočnia (napríklad zrušenie zatvárania hlavného formulára prostredníctvom udalosti z podformulára). Možno budete musieť presunúť tieto typy overovacích testov do udalostí hlavného formulára.
Poradie udalostí pre stlačenia klávesov a kliknutia myšou
V prípade formulárov a ovládacích prvkov nastávajú udalosti klávesnice počas stlačenia klávesov alebo odosielaní stlačenia klávesov, keď je zameranie na formulári alebo ovládacom prvku. V prípade formulárov, sekcií alebo v ovládacích prvkov nastávajú udalosti myši v prípade, že kliknete na tlačidlá myši v čase, keď je ukazovateľ myši vo formulári, časti formulára alebo ovládacom prvku. Udalosť myši sa vyskytne aj vtedy, keď premiestníte ukazovateľ myši nad formulár, sekciu alebo ovládací prvok.
Udalosti klávesnice
Ak stlačíte a uvoľníte kláves počas toho, keď ovládací prvok vo formulári má zameranie (alebo použijete akciu alebo príkaz OdoslaťKlávesy na odoslanie stlačenia klávesu), nastane nasledujúca postupnosť udalostí:
Kláves so šípkou nadolKláves so
nahor 
Ak stlačíte a uvoľníte kláves alebo odošlete stlačenie klávesu v tabuľke znakov ANSI, nastanú všetky udalosti KeyDown, KeyPress a KeyUp . Ak stlačíte a podržíte stlačený kláves vo formáte ANSI, udalosti KeyDown a KeyPress sa budú opakovane striedať (KeyDown, KeyPress, KeyDown, KeyPress a podobne), kým kláves neuvoľníte. potom nastane udalosť KeyUp .
Ak stlačíte a uvoľníte kláves, ktorý nie je vo formáte ANSI, udalosti KeyDown a KeyUp nastanú. Ak stlačíte a podržíte stlačený kláves, ktorý nie je vo formáte ANSI, udalosť KeyDown sa vyskytne opakovane, kým neuvoľníte kláves. Potom nastane udalosť KeyUp .
Ak sa stlačením tlačidla spustí pre ovládací prvok ďalšia udalosť, táto udalosť nastane po udalosti KeyPress, ale pred udalosťou KeyUp. Ak napríklad stlačenie klávesu zmení text v textovom poli, ktoré spúšťa udalosť Change, nastane nasledujúca postupnosť udalostí:
Šípka nadol
Kláves Stlačte kláves
na zmenu
Kláves nahor
Ak stlačenie klávesu spôsobuje premiestnenie zamerania z jedného ovládacieho prvku na iný ovládací prvok, nastane pre prvý ovládací prvok udalosť KeyDown, zatiaľ čo pre druhý ovládací prvok nastanú udalosti KeyPress a KeyUp. Ak napríklad zmeníte údaje v ovládacom prvku a potom stlačením klávesu TAB sa presuniete na ďalší ovládací prvok, nastane táto postupnosť udalostí:
- Prvý ovládací prvok:
Šípka nadol
aktualizácie
po aktualizácii
ukončenia
Stratené zameranie - Druhý ovládací prvok:
Enter
GotFocus
KlávesStlačte kláves
nahor
Udalosti myši
Keď kliknete a uvoľníte tlačidlo myši, keď je ukazovateľ myši na ovládacom prvku vo formulári, nastane pre ovládací prvok nasledujúca postupnosť udalostí:
nadol
Myš nahorKliknutie na položku
Ak ovládací prvok má zameranie a vy kliknete na iný ovládací prvok, aby ste premiestnili zameranie na tento druhý ovládací prvok, vyskytne sa táto postupnosť udalostí:
- Prvý ovládací prvok:
Ukončiť
LostFocus - Druhý ovládací prvok:
GotFocus Šípka
nadolŠípka Myš
nahorKliknutie na položku
nahor
Ak sa premiestníte na iný záznam a potom kliknete na ovládací prvok, pred udalosťou Enter pre ovládací prvok nastane aj udalosť Current pre formulár.
Dvojité kliknutie na ovládací prvok spôsobí výskyt udalostí Click a DblClick. Po dvojitom kliknutí na ovládací prvok iný než príkazové tlačidlo napríklad nastane nasledujúca postupnosť udalostí pre ovládací prvok:
nadol
nahor Kliknite na
DblClick
Myš nahor
Po dvojitom kliknutí na príkazové tlačidlo nastane predchádzajúca postupnosť udalostí a za ňou nasleduje druhá udalosť Click.
Pre formulár, sekciu alebo ovládací prvok nastane udalosť MouseMove v prípade, že premiestníte ukazovateľ myši nad formulár, sekciu alebo ovládací prvok. Táto udalosť je nezávislá od iných udalostí myši.
Poradie udalostí pre zostavy a sekcie zostáv
Udalosti pre zostavy a sekcie zostáv sa vyskytnú v prípade, že otvoríte zostavu na tlač alebo zobrazíte jej ukážku alebo zostavu zavriete.
Udalosti pre zostavy
Keď otvoríte zostavy na tlač alebo zobrazíte jej ukážku a neskôr zostavu zavriete alebo ju premiestníte na ďalšiu kartu objektu v Accesse, pre zostavu nastane nasledujúca postupnosť udalostí :
na otvorenie
načítaniaŠípka na aktiváciu
na zatvorenieDeaktivovať
Pri prepínaní medzi dvoma otvorenými zostavami nastane udalosť Deactivate pre prvú zostavu a udalosť Activate pre druhú zostavu:
Deaktivovať (zostava1) Aktivovať (zostava2)
Udalosť Deactivate sa pre zostavu vyskytne aj pri prepínaní zo zostavy na inú kartu objektu v Accesse. Udalosť Deactivate však nenastane, ak sa prepnete do dialógového okna, do formulára, ktorého vlastnosť PopUp je nastavená na hodnotu Áno alebo do okna v inom programe.
Keď otvoríte zostavu, ktorá vychádza z dotazu, Access pred spustením príslušného dotazu spúšťa pre zostavu udalosť Open. Výsledkom je, že môžete nastaviť kritériá pre zostavu pomocou makra alebo udalostnej procedúry, ktorá bude zodpovedať udalosti Open. Makro alebo udalostná procedúra môžu napríklad otvoriť vlastné dialógové okno, v ktorom zadáte kritériá zostavy.
Udalosti pre sekcie zostavy
Pri tlači alebo zobrazení ukážky zostavy nastanú pre sekcie zostavy udalosti Format a Print po udalostiach Open a Activate pre zostavu a pred udalosťami Close alebo Deactivate pre zostavu:
otvorenia (zostava)
načítania (zostava) Šípka Activate (zostava)
formátu (sekcia zostavy)
tlače (sekcia zostavy)
na zatvorenie (zostava)
Deactivate (zostava)
Zabezpečenie Filtrovanie zostáv používateľov môžete povoliť pomocou zobrazenia zostavy. Na rozdiel od ukážky pred tlačou sa však udalosti formátovania a tlače v žiadnej sekcii nevyskytujú v zobrazení zostavy. To isté platí aj pre výsledky funkcie VBA a používateľom definované procedúry, ktoré sa zobrazujú v ovládacích prvkoch (napríklad popisy označení, stav zobrazenia, podmienené formátovanie, zmena veľkosti ovládacích prvkov a podobne) v rámci týchto udalostí. Preto v tejto udalosti nepoužívajte kód na formátovanie, skrytie alebo tlač dôverných údajov, ktoré by mohli byť odhalené. Odporúčame predbežné filtrovanie údajov alebo zakázanie ukážky zostavy nastavením vlastnosti AllowReportView na hodnotu Nie.
Okrem toho počas formátovania alebo po formátovaní môžu vyskytnúť nasledujúce udalosti (ale vždy pred udalosťou Print):
- Udalosť Retreat nastane v prípade, že Access počas formátovania zostavy prejde naspäť do predchádzajúcej sekcie.
- Udalosť NoData nastane v prípade, že zostava nezobrazuje žiadne záznamy.
- Udalosť Page nastane po formátovaní, ale pred tlačou. Túto udalosť môžete použiť na prispôsobenie vzhľadu vytlačenej zostavy.