Vienas veiksmas, pvz., perėjimas iš vieno objekto valdiklio į kitą valdiklį, gali inicijuoti kelis skirtingus įvykius, kurie vyksta konkrečia seka. Svarbu žinoti, kada įvykiai įvyksta ir kokia seka vyksta, nes tai gali turėti įtakos, kaip ir kada vykdomos makrokomandos ar net įvykio procedūros. Pavyzdžiui, jei yra dvi įvykio procedūros, kurios turėtų būti vykdomos tam tikra seka, norite įsitikinti, kad su jomis susieti įvykiai vyksta ta pačia seka.
Šiame straipsnyje:
- Formose esančių valdiklių įvykių seka
- Formose esančių įrašų įvykių seka
- Formų ir papildomų formų įvykių seka
- Klavišų paspaudimų ir spustelėjimų pele įvykių seka
- Ataskaitų ir ataskaitų sekcijų įvykių seka
Formose esančių valdiklių įvykių seka
Formose esančių valdiklių įvykiai įvyksta, kai perkeliate įvesties vietą į valdiklį ir kai pakeičiami ir naujinami duomenys valdiklyje.
Pastaba
„Microsoft Office Access“ įvykių pavadinimus „Visual Basic“ rengyklėje rodo šiek tiek kitaip nei ypatybių lape ir makrokomandų daryklėje. Pvz., formos ypatybių lape ir makrokomandų daryklėje įvykis, kurio pavadinimas Gavus aktyvinimą, „Visual Basic“ rengyklėje yra pavadintas GotFocus. Šiame straipsnyje pateiktuose pavyzdžiuose įvykio pavadinimai naudojami taikant „Visual Basic for Applications“ (VBA) formatą.
Įvesties vietos perkėlimas į valdiklį
Kai perkeliate įvesties vietą į formoje esantį valdiklį (pvz., atidarydami formą, kurioje yra vienas arba daugiau aktyvių valdiklių, arba perkeliate įvesties vietą į kitą valdiklį toje pačioje formoje), įvykiai Įvesti ir GotFocus vyksta šia seka:
Enter
GotFocus
Kai atidarote formą, įvykiai Įvesti ir GotFocus vyksta po įvykių, susietų su formos atidarymu (pvz., Atidaryti, Aktyvinti ir Dabartinis), kaip nurodyta toliau:
Open (form)
Aktyvinti (formos)
Dabartinė (formos)
Enter (valdiklio)
GotFocus (valdiklis)
Kai įvesties vieta palieka formoje esantį valdiklį (pvz., kai uždarote formą, kurioje yra vienas arba daugiau aktyvių valdiklių, arba perkeliate į kitą valdiklį toje pačioje formoje), įvykiai Įvesti ir LostFocus vyksta šia seka:
Išėjimo
LostFocus
Kai uždarote formą, įvykiai Išeiti ir LostFocus vyksta prieš įvykius, susietus su formos uždarymu (pvz., Iškelti, Išjungti ir Uždaryti), kaip nurodyta toliau:
Išėjimo (valdiklio)
LostFocus (valdiklio)
Iškelti (forma)
Išjungti (formavimo )
Uždaryti (forma)
Duomenų keitimas ir naujinimas valdiklyje
Kai įvedate arba pakeičiate duomenis formoje esančiame valdiklyje ir tada perkeliate įvesties vietą į kitą valdiklį, įvyksta įvykiai BeforeUpdate ir AfterUpdate:
Rodyklė BeforeUpdate
PoNaujinimas
Valdiklio, kurio reikšmės pasikeičia, įvykiai Išeiti ir LostFocus įvyksta po įvykių BeforeUpdate ir AfterUpdate:
BeforeUpdate
AfterUpdate
Išėjimo
LostFocus
Kai pakeičiate tekstą teksto lauke arba pasirinktinio įvedimo lauko teksto lauko dalyje, įvyksta įvykis Keisti. Šis įvykis įvyksta, kai pasikeičia valdiklio turinys, bet prieš perkeliant įvesties vietą į kitą valdiklį arba įrašą (ir todėl prieš įvykstant įvykiams BeforeUpdate ir AfterUpdate). Toliau nurodyta įvykių seka įvyksta su kiekvienu mygtuku, kurį paspaudžiate teksto lauke arba pasirinktinio įvedimo lauko teksto lauko dalyje:
KeyDown
KeyPress
Dirty
Change
KeyUp
Įvykis NotInList įvyksta, kai įvedate reikšmę pasirinktinio įvedimo lauke, kurio nėra pasirinktinio įvedimo laukų sąraše, ir tada bandote pereiti įvesties vietą į kitą valdiklį arba įrašą. Įvykis NotInList įvyksta po klaviatūros įvykių ir pasirinktinio įvedimo lauko įvykių Keisti, bet prieš bet kurį kitą kito valdiklio ar formos įvykį. Jei nustatyta pasirinktinio įvedimo lauko ypatybės LimitToList reikšmė Taip, formos klaidos įvykis įvyksta iškart po įvykio NotInList :
KeyDown
KeyPress
Dirty
Change
KeyUp
NotInList
Error
Formose esančių įrašų įvykių seka
Formose esančių įrašų įvykiai įvyksta, kai perkeliate įvesties vietą į kitą įrašą, atnaujinate įrašo duomenis, panaikinate esamą įrašą ar įrašus arba sukuriate naują įrašą.
Įvesties vietos perkėlimas į įrašus ir įrašų duomenų naujinimas
Kai perkeliate įvesties vietą į esamą formos įrašą, įvedate arba pakeičiate įrašo duomenis, ir tada perkeliate įvesties vietą į kitą įrašą, formoje įvykiai įvyksta tokia seka:
Dabartinė (formos)
BeforeUpdate (formos)
AfterUpdate (formos)
Dabartinis (forma)
Kai išeinate iš įrašo, kurio duomenys pasikeitė, bet prieš įvedant kitą įrašą, įvyksta valdiklio, kuriame yra įvesties vieta, įvykiai Išeiti ir LostFocus. Šie įvykiai įvyksta po formos įvykių BeforeUpdate ir AfterUpdate taip:
BeforeUpdate (formos)
AfterUpdate (formos)
Išėjimo (valdiklis)
LostFocus (valdiklio)
Dabartinis (forma)
Kaip perkeliate įvesties vietą į formos valdiklius, įvyksta kiekvieno valdiklio įvykiai. Pvz., toliau nurodytos įvykių sekos įvyksta, kai atliekate šiuos veiksmus:
- Atidarote formą ir pakeičiate duomenis valdiklyje:
Dabartinė (formos)
Enter (valdiklio)
GotFocus (valdiklis)
BeforeUpdate (valdiklis) rodyklė AfterUpdate (
valdiklis) - Perkeliate įvesties vietą į kitą valdiklį:
Exit (control1)
LostFocus (control1)
Enter (control2)
GotFocus (control2) - Perkeliate įvesties vietą į kitą įrašą:
BeforeUpdate (formos)
AfterUpdate (forma)
rodyklė Išeiti (valdiklis2)
LostFocus (valdiklis2) rodyklė Dabartinis (forma) 
Įrašų naikinimas
Kai įrašą panaikinate, įvyksta nurodyti formos įvykiai ir „Microsoft Office Access“ parodo dialogo langą, kuriame prašoma patvirtinti naikinimą:
Delete
BeforeDelConfirm
AfterDelConfirm
Jei atšaukiate įvykį Naikinti, įvykiai BeforeDelConfirm ir AfterDelConfirm neįvyksta ir dialogo langas neparodomas.
Naujo įrašo kūrimas
Kai įvesties vietą perkeliate į naują (tuščią) formos įrašą ir tada sukuriate naują įrašą įvesdami duomenis valdiklyje, įvyksta ši įvykių seka:
Dabartinė (formos)
Enter (valdiklio)
GotFocus (valdiklio)
BeforeInsert (formos)
AfterInsert (forma)
Įvykis BeforeInsert (forma) suaktyvinamas iškart, kai pradedate vesti tekstą valdiklyje. AfterInsert (forma) įvykis suaktyvinamas jums išėjus iš įrašo.
Formoje esančių valdiklių ir naujo įrašo įvykiai BeforeUpdate ir AfterUpdate įvyksta po įvykio BeforeInsert ir prieš įvykį AfterInsert.
Formų ir papildomų formų įvykių seka
Formų įvykiai įvyksta, kai atidarote arba uždarote formą, pereinate iš vienos formos į kitą ar dirbate su formos arba papildomos formos duomenimis.
Formos atidarymas ir uždarymas
Kai atidarote formą, įvyksta tokia formos įvykių seka:
Open
Load
Resize
Activate
Current
Jei formoje nėra aktyvių valdiklių, formos įvykis GotFocus įvyksta po įvykio Aktyvinti, bet prieš įvykį Dabartinis.
Kai uždarote formą, įvyksta tokia formos įvykių seka:
Iškrovimo
Išjungti
Uždaryti
Jei formoje nėra aktyvių valdiklių, formos įvykis "LostFocus " įvyksta po įvykio Iškelti , bet prieš įvykį Išjungti .
Judėjimas tarp formų
Kai pereinate iš vienos atidarytos formos į kitą, įvyksta pirmos formos įvykis Išjungti, tada antros formos įvykis Aktyvinti:
Išjungti (form1)
Aktyvinti (form2)
Formos įvykis Išjungti įvyksta ir kai persijungiate iš formos į kitą objekto skirtuką programoje „Access“. Tačiau įvykis Išjungti neįvyksta, kai persijungiate į dialogo langą, formą, kai nustatyta jos ypatybės PopUp nuostata Taip, arba į kitos programos langą.
Pastaba
Įvykis Atidaryti neįvyksta, jei perkeliate įvesties vietą į jau atidarytą formą, net jei įvesties vietą į tą formą perkėlėte atlikdami veiksmą OpenForm.
Darbas su formos duomenimis
Formų ir valdiklių įvykiai įvyksta, kai pereinate iš vieno formos įrašo į kitą ir pakeičiate duomenis. Pavyzdžiui, kai pirma atidarote formą, įvyksta tokia įvykių seka:
Open (form)
Įkelti (formos)
Keisti dydį (formos)
Aktyvinti (formos)
Dabartinė (formos)
Enter (valdiklis)
(valdiklis)
Ir panašiai, kai uždarote formą, įvyksta tokia įvykių seka:
Išėjimo (valdiklio)
LostFocus (valdiklio)
Iškelti (forma)
Išjungti (formavimo )
Uždaryti (forma)
Jei pakeitėte duomenis valdiklyje, ir valdiklio, ir formos įvykiai BeforeUpdate ir AfterUpdate įvyksta prieš valdiklio įvykį Išeiti.
Darbas su papildomomis formomis
Kai atidarote formą, kurioje yra papildoma forma, prieš įkeliant pagrindinę formą, įkeliama papildoma forma ir jos įrašai. Taigi papildomos formos ir jos valdiklių įvykiai (pvz., Atidaryti, Dabartinis, Įvesti ir GotFocus) įvyksta prieš formos įvykius. Tačiau neįvyksta papildomos formos įvykis Aktyvinti. Todėl atidarius pagrindinę formą paleidžiamas tik pagrindinės formos įvykis Aktyvinti.
Ir panašiai, kai uždarote formą, kurioje yra papildoma forma, prieš iškeliant formą, iškeliama papildoma forma ir jos įrašai. Tačiau neįvyksta papildomos formos įvykis Išjungti. Todėl uždarius pagrindinę formą paleidžiamas tik pagrindinės formos įvykis Išjungti. Valdiklių, formos ir papildomos formos įvykiai įvyksta tokia seka:
- Papildomos formos valdiklių įvykiai (pvz., išeiti ir LostFocus)
- Formos valdiklių įvykiai (įskaitant papildomos formos valdiklį)
- Formos įvykiai (pvz., Išjungti ir Uždaryti)
- Papildomos formos įvykiai
Pastaba
Kadangi papildomos formos įvykiai vyksta uždarius pagrindinę formą, tam tikri įvykiai, pvz., pagrindinės formos uždarymo atšaukimas iš papildomos formos įvykio, neįvyksta. Jums gali tekti perkelti šių tipų tikrinimo testus į pagrindinės formos įvykį.
Klavišų paspaudimų ir spustelėjimų pele įvykių seka
Formų ir valdiklių klaviatūros įvykiai įvyksta, kai paspaudžiate klavišus arba siunčiate klavišų paspaudimus, kai formoje arba valdiklyje yra įvesties vieta. Formų, formų sekcijų ir formoje esančių valdiklių pelės įvykiai įvyksta, kai spustelėjate pelės mygtukus tuo metu, kai pelės žymiklis yra formoje, sekcijoje arba valdiklyje. Pelės įvykiai taip pat įvyksta, kai užvedate pelės žymiklį virš formos, sekcijos arba valdiklio.
Klaviatūros įvykiai
Kai paspaudžiate ir atleidžiate klavišą tuo metu, kai formos valdiklyje yra įvesties vieta (arba naudojate veiksmą arba sakinį SendKeys klavišo paspaudimui siųsti), įvyksta ši įvykių seka:
KeyDown
KeyPress
KeyUp
Kai paspaudžiate ir atleidžiate klavišą arba siunčiate klavišo paspaudimą ANSI simbolių rinkinyje, įvyksta visi įvykiai "KeyDown", "KeyPress" ir " KeyUp ". Jei paspaudžiate ir laikote nuspaudę klavišą ANSI, "KeyDown " ir " KeyPress" įvykiai kaitaliojasi (KeyDown, KeyPress, KeyDown, KeyPress ir pan.), kol atleisite klavišą; įvyksta įvykis "KeyUp ".
Jei paspauskite ir atleiskite ne ANSI klavišą, įvyks " KeyDown " ir "KeyUp " įvykiai. Jei laikysite nuspaudę ne ANSI klavišą, "KeyDown " įvykis kartosis tol, kol atleisite klavišą. Tada įvyks " KeyUp " įvykis.
Jei paspaudus klavišą paleidžiamas kitas valdiklio įvykis, tas įvykis įvyksta po įvykio KeyPress, bet prieš įvykį KeyUp. Pvz., jei klavišo paspaudimas pakeičia tekstą teksto lauke, kuris paleidžia įvykį Keisti, įvyksta tokia įvykių seka:
KeyDown
KeyPress
Keisti
KeyUp
Jei dėl klavišo paspaudimo įvesties vieta perkeliama iš vieno valdiklio į kitą valdiklį, įvyksta pirmojo valdiklio įvykis KeyDown, o įvykiai KeyPress ir KeyUp įvyksta antrame valdiklyje. Pvz., jei pakeičiate duomenis valdiklyje ir tada paspaudžiate klavišą TAB norėdami pereiti į kitą valdiklį, įvyksta tokia įvykių seka:
- Pirmas valdiklis:
KeyDown
BeforeUpdate
AfterUpdate
Išėjimo
LostFocus - Antras valdiklis:
Enter
GotFocus
KeyPress
KeyUp
Pelės įvykiai
Kai spustelėjate ir atleidžiate pelės mygtuką, kai pelės žymiklis yra formoje arba valdiklyje, įvyksta tokia valdiklio įvykių seka:
MouseDown
MouseUp
Click
Jei valdiklyje yra įvesties vieta ir spustelėkite kitą valdiklį norėdami įvesties vietą perkelti į kitą valdiklį, įvyksta tokia įvykių seka:
- Pirmas valdiklis:
Išėjimo
LostFocus - Antras valdiklis:
Enter
GotFocus
MouseDown
MouseUp
Click
Jei pereinate į kitą įrašą ir tada spustelėjate valdiklį, formos įvykis Dabartinis įvyksta prieš valdiklio įvykį Įvesti.
Du kartus spustelėjus valdiklį įvyksta abu įvykiai Spustelėti ir DblClick. Pvz., kai dukart spustelėjate kurį nors kitą valdiklį, o ne komandos mygtuką, įvyksta ši valdiklio įvykių seka:
Rodyklė MouseDown
MouseUp
Click
DblClick
MouseUp
Kai dukart spustelėjate komandos mygtuką, įvyksta aukščiau nurodyta įvykių seka, po to įvyksta antras įvykis Spustelėti.
Formos, sekcijos ar valdiklio įvykis MouseMove įvyksta, kai pelės žymiklį užvedate ant formos, sekcijos arba valdiklio. Šis įvykis nepriklauso nuo kitų pelės įvykių.
Ataskaitų ir ataskaitų sekcijų įvykių seka
Ataskaitų ir ataskaitų sekcijų įvykiai įvyksta, kai atidarote ataskaitą norėdami ją išspausdinti ar peržiūrėti arba uždarote ataskaitą.
Ataskaitų įvykiai
Kai atidarote ataskaitą norėdami ją išspausdinti arba peržiūrėti ir vėliau uždarote ataskaitą arba pereinate į kitą objekto skirtuką programoje „Access“, įvyksta ši ataskaitos įvykių seka:
Open
Load
Activate
Close
Deactivate
Kai pereinate iš vienos atidarytos ataskaitos į kitą, įvyksta pirmos ataskaitos įvykis Išjungti, tada antros ataskaitos įvykis Aktyvinti:
Deactivate (report1)
Aktyvinti (report2)
Ataskaitos įvykis Išjungti įvyksta ir kai persijungiate iš ataskaitos į kitą objekto skirtuką programoje „Access“. Tačiau įvykis Išjungti neįvyksta, kai persijungiate į dialogo langą, formą, kai nustatyta jos ypatybės PopUp nuostata Taip, arba į kitos programos langą.
Kai atidarote užklausa pagrįstą ataskaitą, „Access“ paleidžia ataskaitos įvykį Atidaryti, tik po to paleidžia esamą užklausą. Todėl galite nustatyti ataskaitos kriterijus, naudodami makrokomandą arba įvykio procedūrą, atitinkančią įvykį Atidaryti. Pvz., makrokomanda arba įvykio procedūra gali atidaryti pasirinktinį dialogo langą, kuriame įvedate ataskaitos kriterijus.
Ataskaitos sekcijų įvykiai
Kai spausdinate arba peržiūrite ataskaitą, ataskaitos sekcijų įvykiai Formatuoti ir Spausdinti įvyksta po ataskaitos įvykių Atidaryti ir Aktyvinti ir prieš ataskaitos įvykius Uždaryti arba Išjungti:
Open (report)
Load (report)
Activate (report)
Format (report section)
Print (report section)
Close (report) arrow Close (report)
Deactivate (report)
Saugumas Galite naudoti ataskaitos rodinį, kad įgalintumėte vartotojo ataskaitų filtravimą. Tačiau skirtingai nei spaudinio peržiūroje, bet kurios sekcijos formato ir spausdinimo įvykiai ataskaitos rodinyje nevyksta. Tai taip pat taikoma VBA funkcijos rezultatams ir vartotojo apibrėžtoms procedūroms, kurios rodomos valdikliuose (pvz., etikečių antraštės, rodymo būsena, sąlyginis formatavimas, valdiklių dydžio keitimas ir t. t.) šių įvykių metu. Todėl šiame įvykyje nenaudokite kodo konfidencialiems duomenims, kurie gali būti atskleisti, formatuoti, slėpti ar spausdinti. Rekomenduojame iš anksto filtruoti duomenis arba išjungti ataskaitos peržiūrą nustatant ypatybės AllowReportView reikšmę Ne.
Be to, toliau nurodyti įvykiai gali įvykti formatavimo metu ir po formatavimo, bet prieš įvykį Spausdinti:
- Įvykis Kartoti įvyksta, kai ataskaitos formatavimo metu „Access“ grįžta į ankstesnę sekciją.
- Įvykis NoData įvyksta, jei nėra įrašų, kuriuos galėtų rodyti ataskaita.
- Įvykis Puslapis įvyksta suformatavus, bet prieš spausdinant. Šį įvykį galite naudoti norėdami tinkinti išspausdintos ataskaitos išvaizdą.