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

Jedna radnja, kao što je premeštanje sa jedne kontrola na objektu na drugu kontrolu, može da izazove nekoliko različitih događaja koji se odvijaju određenim redosledom. Važno je da znate koji se događaji odvijaju i u kom redosledu, jer oni mogu da utiču na način i vreme pokretanja makroa ili procedura događaja. Na primer, ako se dve procedure događaja pokreću u određenom redosledu, trebalo bi da proverite da li se događaji sa kojima su povezani odvijaju u istom tom redosledu.

U ovom članku

Redosled događaja za kontrole u obrascima

Događaji se odvijaju za kontrole u obrascima kad premestite fokus u kontrolu i kad promenite i ažurirate podatke u kontroli.

Napomena: Microsoft Office Access prikazuje imena događaja malo drugačije u programu Visual Basic Editor nego u listu sa svojstvima i Izradi makroa. Na primer, događaj pod imenom On Got Focus u listu sa svojstvima obrasca i izradi makroa zove se GotFocus u programu Visual Basic Editor. Primeri u ovom članku koriste format programskog jezika Visual Basic za aplikacije (VBA) za imena događaja.

Premeštanje fokusa na kontrolu

Kad premestite fokus na kontrolu u obrascu (na primer, tako što ćete otvoriti obrazac koji sadrži jednu aktivnu kontrolu ili više njih ili tako što ćete premestiti fokus na drugu kontrolu u istom obrascu), događaji Enter i GotFocus odigravaju se u ovom redosledu:

Unesite strelica GotFocus

Kad otvorite obrazac, događaji Enter i GotFocus odvijaju se nakon događaja povezanih sa otvaranjem obrasca (kao što su Open, Activate i Current), na sledeći način:

Open (obrazac) strelicaActivate (obrazac) strelicaCurrent (obrazac) strelicaEnter (kontrola) strelicaGotFocus (kontrola)

Kad fokus ostavi kontrolu u obrascu (na primer, kad zatvorite obrazac koji sadrži jednu aktivnu kontrolu ili više njih ili kad premestite u drugu kontrolu u istom obrascu), događaji Exit i LostFocus odvijaju se u ovom redosledu:

Izađite strelica LostFocus

Kad zatvorite obrazac, događaji Exit i LostFocus odvijaju se pre događaja povezanih sa zatvaranjem obrasca (kao što su Unload, Deactivate i Close), na sledeći način:

Exit (kontrola) strelicaLostFocus (kontrola) strelicaUnload (obrazac) strelicaDeactivate (obrazac) strelicaClose (obrazac)

Menjanje i ažuriranje podataka u kontroli

Kad unesete ili promenite podatke u kontroli u obrascu, a zatim premestite fokus na drugu kontrolu, odvijaju se događaji BeforeUpdate i AfterUpdate:

BeforeUpdate strelica Afte rUpdate

Događaji Exit i LostFocus za kontrolu čija se vrednost menja odvijaju se nakon događaja BeforeUpdate i AfterUpdate:

BeforeUpdate strelica AfterUpdate strelica Exit strelica LostFocus

Kad promenite tekst u okviru za tekst ili u odeljku okvira za tekst kombinovanog okvira, odvija se događaj Change. Ovaj događaj odvija se pri svakoj promeni sadržaja kontrole, ali pre nego što premestite fokus na drugu kontrolu ili zapis (a samim tim, i pre odvijanja događaja BeforeUpdate i AfterUpdate). Sledeći redosled događaja odvija se za svaki taster koji pritisnete u okviru za tekst ili odeljku okvira za tekst kombinovanog okvira:

KeyDown strelica KeyPress strelica Dirty strelica Change strelica KeyUp

Događaj NotInList odvija se nakon što unesete vrednost u kombinovani okvir koji nije pronađen na listi kombinovanih okvira i zatim pokušate da premestite fokus na drugu kontrolu ili zapis. Događaj NotInList odvija se nakon događaja tastature i događaja Change za kombinovani okvir, ali pre događaja za druge kontrole ili obrazac. Ako je svojstvo LimitToList kombinovanog okvira podešeno na Da, događaj Error za obrazac odvija se odmah nakon događaja NotInList:

KeyDown strelica KeyPress strelica Dirty strelicaChange strelica KeyUp strelica NotInList 0 Error

Vrh stranice

Redosled događaja za zapise u obrascima

Događaji se odvijaju za zapise u obrascima kad premestite fokus u drugi zapis, ažurirate podatke u zapisu, izbrišete postojeći zapis ili zapise ili kreirate novi zapis.

Premeštanje fokusa na zapise i ažuriranje podataka u zapisima

Kad premestite fokus na postojeći zapis u obrascu, unesete ili promenite podatke u zapisu, a zatim premestite fokus na drugi zapis, odvija se sledeći redosled događaja za obrazac:

Current (obrazac) strelicaBeforeUpdate (obrazac) strelicaAfterUpdate (obrazac) strelicaCurrent (obrazac)

Kad napustite zapis čiji se podaci menjaju, ali pre nego što unesete sledeći zapis, događaji Exit i LostFocus odvijaju se za kontrolu koja ima fokus. Ovi događaji se odvijaju nakon događaja BeforeUpdate i AfterUpdate za obrazac, na sledeći način:

BeforeUpdate (obrazac) strelicaAfterUpdate (obrazac) strelicaExit (kontrola) strelicaLostFocus (kontrola) strelicaCurrent (obrazac)

Dok premeštate fokus među kontrolama u obrascu, odvijaju se događaji za svaku kontrolu. Na primer, sledeći redosledi događaja se odvijaju dok radite sledeće:

  • Otvaranje obrasca i menjanje podataka u kontroli:

    Current (obrazac) strelicaEnter (kontrola) strelicaGotFocus (kontrola) strelicaBeforeUpdate (kontrola) strelicaAfterUpdate (kontrola)

  • Premeštanje fokusa na drugu kontrolu:

    Exit (kontrola1) strelicaLostFocus (kontrola1) strelicaEnter (kontrola2) strelicaGotFocus (kontrola2)

  • Premeštanje fokusa na drugi obrazac:

    BeforeUpdate (obrazac) strelicaAfterUpdate (obrazac) strelicaExit (kontrola2) strelicaLostFocus (kontrola2) strelicaCurrent (obrazac)

Brisanje zapisa

Kad izbrišete zapis, odvijaju se sledeći događaji za zapis, a Microsoft Office Access prikazuje dijalog koji vam traži da potvrdite brisanje:

Izbriši strelica BeforeDelConfirm strelica AfterDelConfirm

Ako otkažete događaj Delete, događaji BeforeDelConfirm i AfterDelConfirm se ne odvijaju, a dijalog se ne prikazuje.

Kreiranje novog zapisa

Kad premestite fokus na novi (prazan) zapis u obrascu, a zatim kreirate novi zapis tako što ćete kucati podatke u kontroli, odvija se sledeći redosled događaja:

Current (obrazac) strelicaEnter (kontrola) strelicaGotFocus (kontrola) strelicaBeforeInsert (obrazac) strelicaAfterInsert (obrazac)

Događaj BeforeInsert (obrazac) pokreće se čim počnete da kucate u kontroli. Događaj AfterInsert (obrazac) pokreće se kada napustite zapis.

Događaji BeforeUpdate i AfterUpdate za kontrole u obrascu i za novi zapis odvijaju se nakon događaja BeforeInsert i pre događaja AfterInsert.

Vrh stranice

Redosled događaja za obrasce i podobrasce

Događaji se odvijaju za obrasce kad otvorite ili zatvorite obrazac, premeštate se između obrazaca ili radite sa podacima u obrascu ili podobrascu.

Otvaranje i zatvaranje obrasca

Kad otvorite obrazac, odvija se sledeći redosled događaja za obrazac:

Otvori strelica učitavanje strelica promena veličine strelica aktiviranje strelica trenutno

Ako nema aktivnih kontrola u obrascu, događaj GotFocus odvija se za obrazac nakon događaja Activate, ali pre događaja Current.

Kad zatvorite obrazac, odvija se sledeći redosled događaja za obrazac:

Poništi strelica deaktiviraj strelica zatvori

Ako nema aktivnih kontrola u obrascu, događaj LostFocus odvija se za obrazac nakon događaja Unload, ali pre događaja Deactivate.

Premeštanje između obrazaca

Kad se prebacujete između dva otvorena obrasca, događaj Deactivate se odvija za prvi obrazac, a događaj Activate za drugi obrazac:

Deactivate (obrazac1) strelicaActivate (obrazac2)

Događaj Deactivate za obrazac odvija se i kad se prebacujete sa obrasca na karticu drugog objekta u programu Access. Međutim, događaj Deactivate se ne odvija kad se prebacujete na dijalog, na obrazac čije je svojstvo PopUp podešeno na Da ili na prozor u drugom programu.

Napomena:  Događaj Open se ne odvija ako premeštate fokus na obrazac koji je već otvoren, čak i ako premeštate fokus na taj obrazac izvršavanjem radnje OpenForm.

Rad sa podacima u obrascu

Događaji obrasca i kontrole odvijaju se dok se premeštate između zapisa u obrascu i menjate podatke. Na primer, kad prvi put otvorite obrazac, odvija se sledeći redosled događaja:

Open (obrazac) strelicaLoad (obrazac) strelicaResize (obrazac) strelicaActivate (obrazac) strelicaCurrent (obrazac) strelicaEnter (kontrola)0 GotFocus (kontrola)

Slično tome, kad zatvorite obrazac, odvija se sledeći redosled događaja:

Exit (kontrola) strelicaLostFocus (kontrola) strelicaUnload (obrazac) strelicaDeactivate (obrazac) strelicaClose (obrazac)

Ako promenite podatke u kontroli, događaji BeforeUpdate i AfterUpdate se i za kontrolu i za obrazac odvijaju pre događaja Exit za kontrolu.

Rad sa podobrascima

Kad otvorite obrazac koji sadrži podobrazac, podobrazac i njegovi zapisi učitavaju se pre glavnog obrasca. Zbog toga se događaji za podobrazac i njegove kontrole (kao što su Open, Current, Enter i GotFocus) odvijaju pre događaja za obrazac. Međutim, događaj Activate se ne odvija za podobrasce. Samim tim, otvaranje glavnog obrasca pokreće događaj Activate samo za glavni obrazac.

Slično tome, kad zatvorite obrazac koji sadrži podobrazac, prekida se učitavanje podobrasca i njegovih zapisa nakon obrasca. Događaj Deactivate se ne odvija za podobrasce. Samim tim, zatvaranje glavnog obrasca pokreće događaj Deactivate samo za glavni obrazac. Događaji za kontrole, obrazac i podobrazac odvijaju se u sledećem redosledu:

  1. Događaji za kontrole podobrasca (kao što su Exit i LostFocus)

  2. Događaji za kontrole obrasca (uključujući kontrole podobrasca)

  3. Događaji za obrazac (kao što su Deactivate i Close)

  4. Događaji za podobrazac

Napomena: Pošto se događaji za podobrazac odvijaju nakon zatvaranja glavnog obrasca, određeni događaji, kao što je zatvaranje glavnog obrasca iz događaja u podobrascu, neće se odigrati. Možda ćete morati da premestite ove tipove testova provere valjanosti na događaj u glavnom obrascu.

Vrh stranice

Redosled događaja za pritiske na taster i klik mišem

Događaji tastature se odvijaju za obrasce i kontrole kad pritisnete tastere ili pošaljete pritiske na taster dok obrazac ili kontrola imaju fokus. Događaji miša se odvijaju za obrasce, odeljke obrasca i kontrole u obrascima kad kliknete na dugmad miša dok je pokazivač miša na obrascu, odeljku ili kontroli. Događaji miša se takođe odvijaju kad premestite pokazivač miša preko obrasca, odeljka ili kontrole.

Događaji tastature

Kad pritisnete i otpustite taster dok kontrola u obrascu ima fokus (ili koristi radnju SendKeys ili izjava za slanje pritiska na taster), odvija se sledeći redosled događaja:

KeyDown strelica KeyPress strelica tasterske prečice

Kad pritisnete i otpustite taster ili pošaljete pritisak na taster u ANSI skup znakova, odvijaju se događaji KeyDown, KeyPress i KeyUp. Ako pritisnete i držite taster ANSI, događaji KeyDown i KeyPress se više puta naizmenično smenjuju (KeyDown, KeyPress, KeyDown, KeyPress i tako dalje) dok ne otpustite taster; zatim se odvija događaj KeyUp.

Ako pritisnete i otpustite taster koji nije ANSI, odvijaju se događaji KeyDown i KeyUp. Ako pritisnete i držite taster koji nije ANSI, više puta se odvija događaj KeyDown dok ne otpustite taster, a zatim se odvija događaj KeyUp.

Ako pritiskom na taster dolazi do još jednog događaja za kontrolu, taj događaj se odvija nakon događaja KeyPress, ali pre događaja KeyUp. Na primer, ako pritisak na taster menja tekst u okviru za tekst, što dovodi do događaja Change, odvija se sledeći redosled događaja:

KeyDown strelica KeyPress strelica Change strelica KeyUp

Ako pritisak na taster uzrokuje premeštanje fokusa sa jedne kontrole na drugu kontrolu, događaj KeyDown se odvija za prvu kontrolu, dok se događaji KeyPress i KeyUp odvijaju za drugu kontrolu. Na primer, ako promenite podatke u kontroli, a zatim pritisnete taster TAB da biste se premestili na sledeću kontrolu, odvija se sledeći redosled događaja:

  • Prva kontrola:

    KeyDown strelica BeforeUpdate strelica AfterUpdate strelica exit strelica LostFocus

  • Druga kontrola:

    Unesite strelica GotFocus strelica KeyPress strelica KeyUp

Događaji miša

Kad kliknete na dugme miša i otpustite ga dok je pokazivač miša na kontroli u obrascu, odvija se sledeći redosled događaja:

MouseDown strelica MouseUp strelica click

Ako kontrola ima fokus i kliknete na drugu kontrolu da biste premestili fokus na nju, odvija se sledeći redosled događaja:

  • Prva kontrola:

    Izađite strelica LostFocus

  • Druga kontrola:

    Unesite strelica GotFocus strelica na taster MouseDown strelica MouseUp strelica klik

Ako se premestite na drugi zapis, a zatim kliknete na kontrolu, događaj Current za obrazac takođe se odvija pre događaja Enter za kontrolu.

Duplim klikom na kontrolu dolazi do događaja Click i DblClick. Na primer, kad kliknete dvaput na kontrolu koja nije komandno dugme, odvija se sledeći redosled događaja za kontrolu:

MouseD own strelica MouseUp strelica Click strelica DblClick strelica MouseUp

Kad kliknete dvaput na komandno dugme, odvija se prethodni redosled događaja, nakon čega dolazi do događaja Click.

Događaj MouseMove za obrazac, odeljak ili kontrolu odvija se kad premestite pokazivač miša na obrazac, odeljak ili kontrolu. Ovaj događaj je nezavisan od drugih događaja miša.

Vrh stranice

Redosled događaja za izveštaje i odeljke izveštaja

Događaji se odvijaju za izveštaje i odeljke izveštaja kad otvorite izveštaj za štampanje ili pregled ili kad zatvorite izveštaj.

Događaji za izveštaje

Kad otvorite izveštaj da biste ga štampali ili pregledali, a zatim zatvorite izveštaj ili ga premestite na karticu drugog objekta u programu Access, odvija se sledeći redosled događaja:

Otvori strelica aktiviraj strelica zatvori strelica deaktiviraj

Kad se prebacujete između dva otvorena izveštaja, događaj Deactivate se odvija za prvi izveštaj, a događaj Activate za drugi izveštaj:

Deactivate (izveštaj1) strelicaActivate (izveštaj2)

Događaj Deactivate za izveštaj se odvija i kad se prebacujete sa izveštaja na karticu drugog objekta u programu Access. Međutim, događaj Deactivate se ne odvija kad se prebacujete na dijalog, na obrazac čije je svojstvo PopUp podešeno na Da ili na prozor u drugom programu.

Kad otvorite izveštaj koji se zasniva na upitu, Access pokreće događaj Open za izveštaj pre nego što pokrene osnovni upit. Kao rezultat toga, možete da podesite kriterijume za izveštaj pomoću makroa ili procedure događaja koja odgovara na događaj Open. Na primer, makro ili događaj procedure mogu da otvore prilagođeni dijalog u koji unosite kriterijume izveštaja.

Događaji za odeljke izveštaja

Kad štampate ili pregledate izveštaj, događaji Format i Print za odeljke izveštaja odvijaju se nakon događaja Open i Activate za izveštaj i pre događaja Close ili Deactivate za izveštaj:

Otvorite (izveštaj) strelicaActivate (izveštaj) strelicaFormat (odeljak izveštaja) strelicaOdštampaj (odeljak izveštaja) strelicaClose (izveštaj) strelicaDeactivate (izveštaj)

Bezbednost    Prikaz izveštaja možete da koristite da biste omogućili filtriranje izveštaja korisnika. Ali za razliku od pregleda pre štampanja, događaji Oblikovanjei Štampanje u bilo kom odeljku ne odvijaju se u prikazu izveštaja. Ovo se odnosi i na rezultate VBA funkcije i korisnički definisane procedure koje se prikazuju u kontrolama (kao što su natpisi oznaka, status prikaza, uslovno oblikovanje, promena veličine kontrola i tako dalje) u tim događajima. Zbog toga nemojte koristiti kôd u ovom događaju da biste oblikovali, sakrili ili odštampali poverljive podatke koji mogu da postanu izloženi. Preporučujemo da unapred filtrirate podatke ili onemogućite pregled izveštaja tako što ćete postaviti svojstvo AllowReportView na ne.

Pored toga, može doći do sledećih događaja tokom ili nakon oblikovanja, ali pre događaja Print:

  • Događaj Retreat se odvija kad se Access vrati na prethodni odeljak tokom oblikovanja izveštaja.

  • Događaj NoData se odvija ako izveštaj nema zapise za prikaz.

  • Događaj Page se odvija nakon oblikovanja, ali pre štampanja. Možete da koristite ovaj događaj da biste prilagodili izgled štampanog izveštaja.

Vrh stranice

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.