Applies ToAccess za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Eno samo dejanje, na primer premik iz enega kontrolnika predmeta na drug kontrolnik, lahko sproži več različnih dogodkov, ki se zgodijo v točno določenem zaporedju. Informacija o tem, kdaj se dogodki zgodijo in v kašnem vrstnem redu se zgodijo, je zelo pomembna, ker lahko vpliva na način in čas izvajanja vaših makrov ali dogodkovnih procedur. Če sta na primer prisotni dve dogodkovni proceduri, ki morata biti zagnani v določenem vrstnem redu, se boste želeli prepričati, da se dogodki, s katerimi sta povezani, izvedejo v enakem vrstnem redu.

V tem članku

Vrstni red dogodkov za kontrolnike v obrazcih

Dogodki se zgodijo za kontrolnike na obrazcih, ko premaknete fokus na kontrolnik in ko spremenite in posodobite podatke v kontrolniku.

Opomba: Microsoft Office Access malo drugače prikazuje imena dogodkov v urejevalniku Visual Basic, kot jih prikazuje na listu lastnosti in v Graditelju makrov. Če je na primer ime dogodka v listu lastnosti in graditelju makrov On Got Focus, se bo isti dogodek v urejevalniku Visual Basic imenoval GotFocus. Primeri v tem članku uporabljajo obliko zapisa Visual Basic za aplikacije (VBA) za imena dogodkov.

Premikanje fokusa na kontrolnik

Ko fokus premaknete na kontrolnik v obrazcu (na primer tako, da odprete obrazec, ki vsebuje vsaj en dejaven kontrolnik, ali tako, da premaknete fokus na drugi kontrolnik v istem obrazcu), se dogodka Enter in GotFocus izvedeta v naslednjem vrstnem redu:

Enter puščica GotFocus

Ko odprete obrazec, se dogodka Enter in GotFocus zgodita po dogodkih, ki so povezani z odpiranjem obrazca (na primer Open, Activate in Current) po naslednjem postopku:

Odpri (obrazec) puščicaActivate (obrazec) puščicaCurrent (obrazec) puščicaEnter (kontrolnik) puščicaGotFocus (kontrolnik)

Ko se fokus odmakne s kontrolnika v obrazcu (na primer, ko zaprete obrazec, ki vsebuje vsaj en dejaven kontrolnik, ali pa se premaknete na drug kontrolnik na istem obrazcu), se izvedeta dogodka Exit in LostFocus v tem vrstnem redu:

Izhod puščica LostFocus

Ko zaprete obrazec, se dogodka Exit in LostFocus zgodita pred dogodki, ki so povezani z zapiranjem obrazca (na primer Unload, Deactivate in Zapri), na naslednji način:

Exit (kontrolnik) puščicaLostFocus (kontrolnik) puščicaUnload (obrazec) puščicaDeactivate (obrazec) puščicaClose (obrazec)

Spreminjanje in posodabljanje podatkov v kontrolniku

Ko vnesete ali spremenite podatke v kontrolniku v obrazcu in nato fokus premaknete na drug kontrolnik, se zgodita dogodka BeforeUpdate in AfterUpdate:

BeforeUpdate puščica Afte rUpdate

Dogodka Exit in LostFocus za kontrolnik, katerega vrednost se spremeni po dogodkih BeforeUpdate in AfterUpdate:

BeforeUpdate puščica AfterUpdate puščica Exit puščica LostFocus

Ko spremenite besedilo v delu kombiniranega polja z besedilom, pride do dogodka Change. Ta dogodek se zgodi, ko se vsebina kontrolnika spremeni, preden premaknete fokus na drug kontrolnik ali pa ga zapišete (torej preden se zgodita dogodka BeforeUpdate in AfterUpdate). Naslednje zaporedje dogodkov se zgodi ob vsakem pritisku tipke v polju z besedilom ali delu kombiniranega polja z besedilom:

KeyDown puščica KeyPress puščica Dirty puščica Change puščica KeyUp

Dogodek NotInList se zgodi, ko v kombinirano polje vnesete vrednost, ki je ni na seznamu kombiniranega polja, nato pa poskusite premakniti fokus na drug kontrolnik ali zapis. Dogodek NotInList se zgodi po dogodkih tipkovnice in dogodki Change za kombinirano polje, vendar pred dogodki za kateri koli drugi kontrolnik ali obrazec. Če je lastnost LimitToList kombiniranega polja nastavljena na Da, se dogodek Error za obrazec zgodi takoj po dogodku NotInList:

KeyDown puščica KeyPress puščica Dirty puščica Change puščica KeyUp puščica NotInList 0 Error

Na vrh strani

Vrstni red dogodkov za zapise v obrazcih

Dogodki se zgodijo za zapise na obrazcih, ko premaknete fokus na drug zapis, posodobite podatke v zapisu, izbrišete obstoječi zapis oziroma zapise ali ustvarite nov zapis.

Premikanje fokusa na zapise in posodabljanje podatkov v zapisih

Ko premaknete fokus na obstoječi zapis v obrazcu, vnesete ali spremenite podatke v zapisu in nato premaknete fokus na drug zapis, se za obrazec zgodi to zaporedje dogodkov:

Current (obrazec) puščicaBeforeUpdate (obrazec) puščicaAfterUpdate (obrazec) puščicaCurrent (obrazec)

Ko zapustite zapis, katerega podatki so bili spremenjeni, vendar ga zapustite pred vnosom novega zapisa, se zgodite dogodka Exit in LostFocus za kontrolnik, ki je bil v fokusu. Ti dogodki se zgodijo po dogodkih BeforeUpdate in AfterUpdate za obrazec na naslednji način:

BeforeUpdate (obrazec) puščicaAfterUpdate (obrazec) puščicaExit (kontrolnik) puščicaLostFocus (kontrolnik) puščicaCurrent (obrazec)

Ko fokus premikate med kontrolniki na obrazcu, se zgodijo dogodki za vsak posamezni kontrolnik. Med naslednjim se na primer zgodi naslednje zaporedje dogodkov:

  • odprete obrazec in spremenite podatke v kontrolniku:

    Current (obrazec) puščicaEnter (kontrolnik) puščicaGotFocus (kontrolnik) puščicaBeforeUpdate (kontrolnik) puščicaAfterUpdate (kontrolnik)

  • premaknete fokus na drug kontrolnik:

    Exit (kontrolnik1) puščicaLostFocus (kontrolnik1) puščicaEnter (kontrolnik2) puščicaGotFocus (kontrolnik2)

  • premaknete fokus na drug zapis:

    BeforeUpdate (obrazec) puščicaAfterUpdate (obrazec) puščicaExit (kontrolnik2) puščicaLostFocus (kontrolnik2) puščicaCurrent (obrazec)

Brisanje zapisov

Ko izbrišete zapis, se zgodijo naslednji dogodki za obrazec, Microsoft Office Access pa prikaže pogovorno okno, ki vas pozove k potrditvi brisanja:

Izbriši puščica BeforeDelConfirm puščica AfterDelConfirm

Če prekličete dogodek Delete, se dogodka BeforeDelConfirm in AfterDelConfirm ne zgodita, pogovorno okno pa se ne prikaže.

Ustvarjanje novega zapisa

Ko premaknete fokus na nov (prazen) zapis na obrazcu in nato ustvarite nov zapis tako, da vnesete podatke v kontrolnik, se zgodi naslednje zaporedje dogodkov:

Current (obrazec) puščicaEnter (kontrolnik) puščicaGotFocus (kontrolnik) puščicaBeforeInsert (obrazec) puščicaAfterInsert (obrazec)

Dogodek BeforeInsert (obrazec) se sproži takoj, ko začnete tipkati v kontrolnik. Dogodek AfterInsert (obrazec) se sproži, ko zapustite zapis.

Dogodka BeforeUpdate in AfterUpdate za kontrolnike v obrazcu in za nov zapis se zgodita po dogodku BeforeInsert in pred dogodkom AfterInsert.

Na vrh strani

Vrstni red dogodkov za obrazce in podobrazce

Dogodki za obrazce se zgodijo, ko odprete ali zaprete obrazec, se premikate med obrazci ali delate s podatki na obrazcu ali podobrazcu.

Odpiranje in zapiranje obrazca

Ko odprete obrazec, se zgodi to zaporedje dogodkov za obrazec:

Odpreti puščica nalaganje puščica spreminjanje velikosti puščica aktivirati puščica trenutno

Če na obrazcu ni dejavnih kontrolnikov, se zgodi dogodek GotFocus za obrazec po dogodku Activate, vendar pred dogodkom Current.

Ko zaprete obrazec, se zgodi to zaporedje dogodkov za obrazec:

Unload puščica Deactivate puščica Close

Če na obrazcu ni dejavnih kontrolnikov, se zgodi dogodek LostFocus za obrazec po dogodku Unload, vendar pred dogodkom Deactivate.

Premikanje med obrazci

Ko preklopite med dvema odprtima obrazcema, se dogodek Deactivate zgodi za prvi obrazec, dogodek Activate pa se zgodi za drugi obrazec.

Deactivate (obrazec1) puščicaActivate (obrazec2)

Dogodek Deactivate za obrazec se prav tako zgodi, ko preklopite z obrazca na drugi zavihek predmeta v Accessu. Vendar se dogodek Deactivate ne zgodi, ko preklopite na pogovorno okno, obrazec, katerega lastnost PopUp je nastavljena na Da, ali na okno v drugem programu.

Opomba:  Dogodek Open se ne zgodi, če premaknete fokus na obrazec, ki je že odprt, čeprav ste premaknili fokus na ta obrazec tako, da ste opravili dejanje OpenForm.

Delo s podatki na obrazcu

Dogodki obrazca in kontrolnika se zgodijo, ko se premikate med zapisi v obrazcu in spreminjate podatke. Ko na primer prvič odprete obrazec, se zgodi to zaporedje dogodkov:

Odpri (obrazec) puščicaLoad (obrazec) puščicaResize (obrazec) puščicaActivate (obrazec) puščicaCurrent (obrazec) puščicaEnter (kontrolnik)0 GotFocus (kontrolnik)

Podobno se, ko zaprete obrazec, zgodi to zaporedje dogodkov:

Exit (kontrolnik) puščicaLostFocus (kontrolnik) puščicaUnload (obrazec) puščicaDeactivate (obrazec) puščicaClose (obrazec)

Če ste spremenili podatke v krmilniku, se dogodka BeforeUpdate in AfterUpdate za kontrolnik in obrazec zgodita pred dogodkom Exit za krmilnik.

Delo s podobrazci

Ko odprete obrazec, ki vsebuje podobrazec, se podobrazec in njegovi zapisi naložijo pred glavnim obrazcem. Zato se dogodki za podobrazec in njegove kontrolnike (na primer Open, Current, Enter in GotFocus) zgodijo pred dogodki za obrazec. Vendar se dogodek Activate ne zgodi za podobrazce. Zato z odpiranjem glavnega obrazca sprožite dogodek Activate samo za glavni obrazec.

Podobno, ko zaprete obrazec, ki vsebuje podobrazec, se podobrazec in njegovi zapisi zbrišejo po obrazcu. Vendar se dogodek Deactivate ne zgodi za podobrazce. Zato z zapiranjem glavnega obrazca sprožite dogodek Deactivate samo za glavni obrazec. Dogodki za kontrolnike, obrazec in podobrazec se zgodijo v naslednjem vrstnem redu:

  1. Dogodki za kontrolnike podobrazca (na primer Exit in LostFocus)

  2. Dogodki za kontrolnike obrazca (vključno s kontrolnikom podobrazca)

  3. Dogodki za obrazec (na primer Deactivate in Close)

  4. Dogodki za podobrazec

Opomba: Ker se dogodki za podobrazec zgodijo po zapiranju glavnega obrazca, se določeni dogodki ne zgodijo, na primer preklic zapiranja glavnega obrazca s strani dogodka v podobrazcu. Tovrstne preizkuse veljavnosti boste morda morali premakniti v dogodek glavnega obrazca.

Na vrh strani

Vrstni red za pritisnjene tipke in klike miške

Dogodki tipkovnice se zgorijo za obrazce in kontrolnike, ko pritisnete tipke ali pošljete pritiske tipk, ko obrazec ali kontrolnik imata fokus. Dogodki miške se zgodijo za obrazce, odseke obrazcev in kontrolnike na obrazcih, ko kliknete miškine tipke, kadar je kazalec miške na obrazcu, odseku ali kontrolniku. Dogodki miške se zgodijo tudi takrat, ko premaknete kazalec miške na obrazec, odsek ali kontrolnik.

Tipkovnični dogodki

Če pritisnete in sprostite tipko, ko ima krmilnik na obrazcu fokus (ali uporabite dejanje SendKeys ali izjava, če želite poslati kombinacijo tipk), se zgodi naslednje zaporedje dogodkov:

KeyDown puščica KeyPress puščica KeyUp

Ko pritisnete in spustite tipko ali pošljete pritisk tipke v nabor znakov ANSI, se zgodijo dogodki KeyDown, KeyPress in KeyUp . Če pritisnete in pridržite tipko ANSI, sta dogodka KeyDown in KeyPress zaporedoma izmenična (KeyDown, KeyPress, KeyDown, KeyPress in tako naprej), dokler tipke ne sprostite; se zgodi dogodek KeyUp .

Če pritisnete in sprostite ne-ANSI tipko, se zgodita dogodka KeyDown in KeyUp. Če pritisnete in držite pritisnjeno ne-ANSI tipko, se dogodek KeyDown ponavlja, dokler tipke ne sprostite; nato se zgodi dogodek KeyUp.

Če pritisk tipke sproži drug dogodek za kontrolnik, se ta zgodi po dogodku KeyPress, vendar pred dogodkom KeyUp. Če na primer pritisnjena tipka spremeni besedilo v polju z besedilom, pri čemer sproži dogodek Change, se zgodi to zaporedje dogodkov:

KeyDown puščica KeyPress puščica Change puščica KeyUp

Če pritisk tipke povzroči premik fokusa iz enega na drugi kontrolnik, se za prvi kontrolnik zgodi dogodek KeyDown, za drugi kontrolnik pa se zgodita dogodka KeyPress in KeyUp. Če na primer spremenite podatke v kontrolniku in nato pritisnete tipko TAB, da se premaknete na naslednji kontrolnik, se zgodi naslednje zaporedje dogodkov:

  • Prvi kontrolnik:

    KeyDown puščica BeforeUpdate puščica AfterUpdate puščica Exit puščica LostFocus

  • Drugi kontrolnik:

    Vnesite puščica GotFocus puščica KeyPress puščica KeyUp

Dogodki miške

Če kliknete in spustite miškino tipko, ko je kazalec miške na kontrolniku na obrazcu, se za kontrolnik zgodi naslednje zaporedje dogodkov:

MouseDown puščica MouseUp puščica Click

Če ima kontrolnik fokus in kliknete drug kontrolnik, da bi fokus premaknili v ta drug kontrolnik, se zgodi to zaporedje dogodkov:

  • Prvi kontrolnik:

    Izhod puščica LostFocus

  • Drugi kontrolnik:

    Vnesite puščica GotFocus puščica MouseDown puščica MouseUp puščica Click

Če se premaknete v drug zapis in nato kliknete kontrolnik, se zgodi tudi dogodek Current za obrazec pred dogodkom Enter za kontrolnik.

Če dvokliknete kontrolnik, se zgodita dogodka Click in DblClick. Če na primer dvokliknete kontrolnik, ki ni ukazni gumb, se za kontrolnik izvede naslednje zaporedje dogodkov:

MouseD own puščica MouseUp puščica Click puščica DblClick puščica MouseUp

Ko dvokliknete ukazni gumb, se izvede zgornje zaporedje dogodkov, ki mu sledi dodatni dogodek Click.

Dogodek MouseMove za obrazec, odsek ali kontrolnik se zgodi, ko miškin kazalec premaknete prek obrazca, odseka ali kontrolnika. Ta dogodek je neodvisen od drugih dogodkov miške.

Na vrh strani

Vrstni red dogodkov za poročila in odseke poročila

Dogodki se zgodijo za poročila in odseke poročila, ko odprete poročilo, da bi ga natisnili ali si ga predogledali, oziroma ko poročilo zaprete.

Dogodki za poročila

Ko odprete poročilo za tiskanje ali predogled in pozneje zaprete poročilo ali pa se premaknete na drug zavihek predmeta v Accessu, se za poročilo izvede naslednje zaporedje dogodkov:

Odpri puščica Aktiviraj puščica Zapri puščica Deactivate

Ko preklopite med dvema odprtima poročiloma, se dogodek Deactivate zgodi za prvo poročilo, dogodek Activate pa se zgodi za drugo poročilo.

Deactivate (poročilo1) puščicaActivate (poročilo2)

Dogodek Deactivate za poročilo se prav tako zgodi, ko preklopite z obrazca na drugi zavihek predmeta v Accessu. Vendar se dogodek Deactivate ne zgodi, ko preklopite na pogovorno okno, obrazec, katerega lastnost PopUp je nastavljena na Da, ali na okno v drugem programu.

Ko odprete poročilo, ki je osnovano na poizvedbi, Access sproži dejanje Open za poročilo, preden zažene temeljno poizvedbo. Kot rezultat lahko nastavite kriterije za poročilo z uporabo makra ali dogodkovne procedure, ki se odzove na dogodek Open. Makro ali dogodkovna procedura na primer lahko odpre pogovorno okno po meri, v katerega vnesete kriterije poročila.

Dogodki za odseke poročila

Ko natisnete ali si predogledate poročilo, se dogodka Format in Print zgodita za odseke poročila po dogodkih Open in Activate za poročilo in pred dogodkoma Close ali Deactivate poročila:

Odpiranje (poročilo) puščicaAktiviranje (poročilo) puščicaOblikovanje (odsek poročila) puščicaTiskanje (odsek poročila) puščicaZapri (poročilo) puščicaDeactivate (poročilo)

Varnost    S pogledom poročila lahko omogočite filtriranje poročil uporabnikov. Toda v nasprotju s predogledom tiskanja sedogodka Oblika in Natisni v katerem koli odseku ne zgodita v pogledu poročila. To velja tudi za rezultate funkcije VBA in uporabniško določene postopke, ki se prikažejo v kontrolnikih (kot so napisi oznak, stanje prikaza, pogojno oblikovanje, spreminjanje velikosti kontrolnikov in tako naprej) v teh dogodkih. Zato kode v tem primeru ne uporabljajte za oblikovanje, skrivanje ali tiskanje zaupnih podatkov, ki bi lahko bili izpostavljeni. Priporočamo, da vnaprej filtrirate podatke ali onemogočite predogled poročila tako, da nastavite lastnost AllowReportView na Ne.

Poleg tega se lahko med ali po oblikovanju, vendar pred dogodkom Print, zgodijo ti dogodki:

  • Dogodek Retreat se zgodi, ko se Access vrne v prejšnji odsek med oblikovanjem poročila.

  • Dogodek NoData se zgodi, če poročilo ne prikazuje nobenih odsekov.

  • Dogodek Page se zgodi po oblikovanju, vendar pred tiskanjem. Ta dogodek lahko uporabite, če želite prilagoditi videz natisnjenega poročila.

Na vrh strani

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.