Applies To„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Vienas veiksmas, pvz., perėjimas iš vieno objekto valdiklis į 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ų valdiklių įvykiai įvyksta, kai įvesties vieta perkeliama į 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:

Įveskite rodyklė GotFocus

Kai atidarote formą, įvykiai Įvesti ir GotFocus vyksta po įvykių, susietų su formos atidarymu (pvz., Atidaryti, Aktyvinti ir Dabartinis), kaip nurodyta toliau:

Atidaryti (forma) rodyklėAktyvinti (forma) rodyklėDabartinis (forma) rodyklėĮvesti (valdiklis) rodyklė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šeiti iš rodyklė 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šeitirodyklėLostFocus (valdiklis) rodyklėIškelti (forma) rodyklėIšjungti (forma) rodyklė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:

BeforeUpdate rodyklė Afte rUpdate

Valdiklio, kurio reikšmės pasikeičia, įvykiai Išeiti ir LostFocus įvyksta po įvykių BeforeUpdate ir AfterUpdate:

BeforeUpdate rodyklė AfterUpdate rodyklė Išeiti rodyklė 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 rodyklė KeyPress rodyklė Dirty rodyklė Change rodyklė 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 nuostata Taip, formos įvykis Klaida įvyksta iškart po įvykio NotInList:

KeyDown rodyklė KeyPress rodyklė Dirty rodyklė Change rodyklė KeyUp rodyklė NotInList 0 Error

Puslapio viršus

Formose esančių įrašų įvykių seka

Formose esančių įrašų įvykiai įvyksta, kai įvesties vieta perkeliama į kitą įrašą, atnaujinami įrašo duomenys, panaikinamas esamas įrašas ar įrašai arba sukuriamas naujas įrašas.

Į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:

Dabartinis (forma) rodyklėBeforeUpdate (forma) rodyklėAfterUpdate (forma) rodyklė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 (forma) rodyklėAfterUpdate (forma) rodyklėExit (control) rodyklėLostFocus (control) rodyklėCurrent (form)

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:

    Dabartinis (forma) rodyklėEnter (valdiklis) rodyklėGotFocus (valdiklis) rodyklėBeforeUpdate (valdiklis) rodyklėAfterUpdate (valdiklis)

  • Perkeliate įvesties vietą į kitą valdiklį:

    Išeiti (valdiklis1) rodyklėLostFocus (valdiklis1) rodyklėEnter (valdiklis2) rodyklėGotFocus (valdiklis2)

  • Perkeliate įvesties vietą į kitą įrašą:

    BeforeUpdate (forma) rodyklėAfterUpdate (forma) rodyklėIšeiti (valdiklis2) rodyklė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ą:

Naikinti rodyklė BeforeDelConfirm rodyklė 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:

Dabartinis (forma) rodyklėĮvesti (valdiklis) rodyklėGotFocus ( valdiklis) rodyklėBeforeInsert (forma) rodyklėAfterInsert (forma)

Įvykis BeforeInsert (forma) paleidžiamas iškart, kai tik pradedate vesti tekstą valdiklyje. Išėjus iš įrašo, paleidžiamas įvykis AfterInsert (forma).

Formoje esančių valdiklių ir naujo įrašo įvykiai BeforeUpdate ir AfterUpdate įvyksta po įvykio BeforeInsert ir prieš įvykį AfterInsert.

Puslapio viršus

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:

Atidaryti rodyklė įkelti rodyklė keisti dydį rodyklė aktyvinti rodyklė dabartinį

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škelti rodyklė išjungti rodyklė 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 (forma1) rodyklėAktyvinti (forma2)

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:

Atidaryti (forma) rodyklėĮkelti (forma) rodyklėKeisti dydį (forma) rodyklėAktyvinti (forma) rodyklėDabartinis (forma) rodyklėĮvesti (valdiklis)0 GotFocus (valdiklis)

Ir panašiai, kai uždarote formą, įvyksta tokia įvykių seka:

Išeiti (valdiklis) rodyklėLostFocus (valdiklis) rodyklėIškelti (forma) rodyklėIšjungti (forma) rodyklė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:

  1. Papildomos formos valdiklių įvykiai (pvz., išeiti ir LostFocus)

  2. Formos valdiklių įvykiai (įskaitant papildomos formos valdiklį)

  3. Formos įvykiai (pvz., Išjungti ir Uždaryti)

  4. 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į.

Puslapio viršus

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ą SendKeys arba sakinys, kad nusiųstumėte klavišo paspaudimą), įvyksta ši įvykių seka:

KeyDown rodyklė KeyPress rodyklė KeyUp

Kai paspaudžiate ir atleidžiate klavišą arba siunčiate klavišo paspaudimą ANSI simbolių rinkinys, įvyksta visi įvykiai KeyDown, KeyPress ir KeyUp . Jei paspaudžiate ir laikote nuspaudę ANSI klavišą, įvykiai KeyDown ir KeyPress pakaitomis kartojami (KeyDown, KeyPress, KeyDown, KeyPress ir t. t.), kol atleisite klavišą; tada įvyksta įvykis KeyUp .

Jei paspausite ir atleisite ne ANSI klavišą, įvyks įvykiai KeyDown ir KeyUp . Jei paspaudžiate ir laikote ne ANSI klavišą, įvykis KeyDown kartojamas tol, kol atleisite raktą, tada įvyksta įvykis KeyUp .

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 rodyklė KeyPress rodyklė Change rodyklė 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 rodyklė BeforeUpdate rodyklė AfterUpdate rodyklė Išeiti rodyklė LostFocus

  • Antras valdiklis:

    Įveskite rodyklė GotFocus rodyklė KeyPress rodyklė 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 rodyklė MouseUp rodyklė 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šeiti iš rodyklė LostFocus

  • Antras valdiklis:

    rodyklė spustelėkite įveskite rodyklėGotFocus rodyklėMouseDown rodyklėMouseUp"

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:

MouseD own rodyklė MouseUp rodyklė Click rodyklė DblClick rodyklė 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ų.

Puslapio viršus

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:

Atidaryti rodyklė Aktyvinti rodyklė Uždaryti rodyklė Išjungti

Kai pereinate iš vienos atidarytos ataskaitos į kitą, įvyksta pirmos ataskaitos įvykis Išjungti, tada antros ataskaitos įvykis Aktyvinti:

Išjungti (ataskaita1) rodyklėAktyvinti (ataskaita2)

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:

Atidaryti (ataskaita) rodyklėAktyvinti (ataskaita) rodyklėFormatas (ataskaitos sekcija) rodyklėSpausdinti (ataskaitos sekcija) rodyklėUždaryti (ataskaita) rodyklėIšjungti (ataskaita)

Sauga    Ataskaitos rodinį galite naudoti norėdami įgalinti ataskaitų vartotojo filtravimą. Tačiau skirtingai nei spaudinio peržiūros rodinyje, įvykiai Formatuoti ir Spausdinti bet kurioje sekcijoje neįvyksta ataskaitos rodinyje. Tai taip pat taikoma VBA funkcijos rezultatams ir vartotojo apibrėžtoms procedūroms, kurios šiuose įvykiuose rodomos valdikliuose (pvz., etikečių antraštėse, rodymo būsenoje, sąlyginiame formatavime, valdiklių dydžio keitimą ir t. t.). Todėl nenaudokite kodo šiame įvykyje, jei norite formatuoti, slėpti ar spausdinti konfidencialius duomenis, kurie gali tapti matomi. Rekomenduojame iš anksto filtruoti duomenis arba išjungti ataskaitos peržiūrą nustatant ypatybę AllowReportView kaip 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ą.

Puslapio viršus

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.