O acțiune, cum ar fi trecerea de la un obiect la altul de control, poate rula mai multe evenimente diferite, care apar într-o anumită succesiune. Este important să se știe când și în ce au loc evenimente de ordine, deoarece aceasta poate afecta modul în care și atunci când executați o procedură macro sau eveniment. De exemplu, în cazul în care există două proceduri de evenimente, care trebuie să fie efectuate într-o anumită ordine, trebuie să vă asigurați că, în același mod, există evenimente asociate cu acestea.
În această secțiune.
Ordinea evenimentelor sub formă de controale
Evenimente de control apar sub forma focalizării când transferul controlului, și modificarea sau actualizarea datelor în controlul.
Mutați focalizarea la controlul
Atunci când se deplasează focalizarea la elementul de comandă în formă (de exemplu, atunci când deschiderea matriței, care cuprinde una sau mai multe active, controale sau trecerea la alt control în aceeași formă) și evenimente care apar Enter GotFocus în următoarea ordine:
Când deschideți formularul, Enter și evenimente GotFocus au loc după evenimentele asociate cu deschiderea formei (cum ar fi deschis și Activare curent.), În următoarea ordine:
Deschideți (formular) Activare (formular) actual (formular) Enter (de control) GotFocus (de control)
Când traducerea unui element de control de focalizare în formă (de exemplu, atunci când se închide matrița în care producția una sau mai multe controale active sau la trecerea la un alt control, în aceeași formă) și LostFocus apar evenimente ieșire în următoarea ordine:
Când închideți formularul, evenimentele de ieșire și de LostFocus au loc înainte de evenimentele legate de închiderea de forme, cum ar fi Unload. Dezactivare și închidere:
Ieșire (control) LostFocus (control) Unload (forma) Dezactivare (formă) Închidere (formular)
Modificarea și actualizarea datelor în controlul
Când introduceți noul control al datelor privind forma sau modifica pe cele existente, iar apoi traduce focalizarea la alt control, apariția unor evenimente BeforeUpdate și AfterUpdate în următoarea ordine:
BeforeUpdateAfterUpdate
Pentru controlul cu valoarea modificată după evenimentele BeforeUpdate și AfterUpdate au loc evenimente de ieșire și LostFocus:
BeforeUpdateAfterUpdateExitLostFocus
Când modificați textul în caseta de text sau într-o casetă combo, are loc evenimentul Change. Aceasta se produce atunci când orice schimbare de control al conținutului în care înainte de a muta focalizarea la alt control sau la o altă intrare (și, prin urmare, înainte de evenimentele BeforeUpdate și AfterUpdate). În cazul în care cursorul se află în câmpul, prin apăsarea oricărei taste în caseta de text sau caseta combo, există următoarele evenimente:
KeyDownKeyPressDirtyChangeKeyUp
eveniment NotInList are loc, dacă tastați în caseta combo, valoarea nu este în lista drop-down, și apoi încercați să mutați focalizarea la alt control sau de înregistrare. eveniment NotInList are loc după evenimentele și evenimentele de la tastatură Schimbarea pentru caseta combo, dar înainte de evenimentele din celelalte comenzi, sau forma. Dacă proprietatea câmp LimitToList la lista are la Da. imediat după eveniment are loc evenimentul de eroare NotInList pentru forma:
KeyDownKeyPressDirtyChangeKeyUpNotInListError
Ordinea evenimentelor în formă de înregistrări
Evenimentele apar sub formă de înregistrare atunci când transferul focalizarea la un alt record, actualizarea conținutului unui înregistrării, eliminarea unei înregistrări sau a înregistrărilor existente, precum și crearea unei înregistrări.
Mutați focalizarea prin înregistrările și să actualizeze conținutul înregistrărilor
Atunci când transferați focalizarea la o înregistrare existentă într-o formă, introduceți nou sau modificați înregistrările de date existente și atunci când se deplasează într-un alt record de această secvență de evenimente:
Curent (forma) BeforeUpdate (forma) AfterUpdate (form) actual (formular)
Când ieșiți din înregistrarea modificată, dar înainte de a intra în noile evenimente apar ieșire și LostFocus pentru elementul de control final, care a avut focalizarea. Aceste evenimente au loc după formele de eveniment BeforeUpdate și AfterUpdate:
BeforeUpdate (forma) AfterUpdate (formular) Ieșire (control) LostFocus (control) RecordExit (formă) curent (formular)
La transferul focalizarea de la un control pentru altul sub formă de evenimente au loc fiecare control. De exemplu, se poate produce secvența așa cum este descris mai jos.
Deschiderea unui formular și modificarea datelor de control:
Curent (forma) Enter (de control) GotFocus (control) BeforeUpdate (control) AfterUpdate (de control)
Traducere se concentreze la alt control:
Element Ieșire de control 1) LostFocus (control 1) Enter (element de control 2) GotFocus (control elementul 2)
Traducere se concentreze la un alt record:
BeforeUpdate (form) AfterUpdate (formular) Ieșire (control 2) LostFocus (control 2) RecordExit (forma) Current (form)
Ștergerea înregistrărilor
Când ștergeți o înregistrare în formă de următoarele evenimente au loc, și Microsoft Office Access afișează o casetă de dialog fapt care ia determinat pentru a confirma ștergerea:
DeleteBeforeDelConfirmAfterDelConfirm
Dacă anulați evenimentul Ștergere. evenimentele și BeforeDelConfirm AfterDelConfirm nu apar, mai degrabă decât apare o casetă de dialog.
Crearea unei înregistrări
Atunci când transferați focalizarea unui nou (gol) formularul de înscriere și de a crea o înregistrare de intrare de la tastatură apar următoarele evenimente:
Curent (forma) Enter (de control) GotFocus (control) BeforeInsert (forma) AfterInsert (formular)
BeforeUpdate și AfterUpdate evenimente pentru controalele privind forma și un nou record BeforeInsert au loc după eveniment. dar AfterInsert evenimente.
Ordinea de forme de evenimente și subformular
Evenimentele formează apar la deschiderea și închiderea formularelor la tranzițiile dintre formele și să lucreze cu date într-o formă sau subformular.
Deschiderea și închiderea matriței
Când deschideți formularul de evenimente au loc în următoarea ordine:
OpenLoadResizeActivateCurrent
Dacă formularul nu are controale active, după eveniment Activare. Evenimentele actuale, dar există evenimentul GotFocus pentru forma.
Atunci când forma este închisă apar următoarele evenimente:
UnloadDeactivateClose
Dacă formularul nu are controale active, după eveniment Unload. dar înainte de a se produce evenimentul Dezactivați evenimentul LostFocus pentru forma.
Mutarea între forme
În tranziția de la o formă pentru a deschide un alt eveniment apare pentru prima Deactivate forma și evenimentul Activate pentru a doua forma:
Dezactivarea (Formularul 1) Activați (formularul 2)
Dezactivarea forma eveniment, de asemenea, apare atunci când trecerea de la o filă a forma un alt obiect de acces. Dezactivarea Totuși evenimentul nu are loc în timpul tranziției la o casetă de dialog în formă, o proprietate care are un PopUp la Da. sau fereastra alt program.
Notă: Open eveniment nu se produce atunci când transferul focalizarea la o formă deja deschisă, chiar și atunci când focalizarea este mutat în această formă de OpenForm macro.
Lucrul cu datele sub formă de
Când vă mutați prin înregistrările și forma evenimente de modificare a datelor apar evenimente de formă și de control. De exemplu, atunci când deschideți formularul de mai jos lanț de evenimente:
Deschideți (formular) Load (form) Resize (formular) Activare (formular) actual (formular) Enter (de control) GotFocus (de control)
În mod similar, atunci când închideți formularul, au loc următoarele evenimente:
Ieșire (control) LostFocus (control) Unload (forma) Dezactivare (formă) Închidere (formular)
Când datele în evenimentele de control BeforeUpdate și AfterUpdate de control, precum și pentru formele apar înainte de ieșirea evenimentului.
Lucrul cu Subforms
La deschiderea matriței care conține subformular subformular și intrările sale sunt încărcate în forma principală. Astfel, evenimentele subformular conținute în acestea și controale (cum ar fi Deschideți. Curent. Enter si GotFocus) au loc înainte de evenimentele din formularul principal. Cu toate acestea, evenimentul Activate pentru formele condiționate nu sunt acolo, astfel încât atunci când deschideți un formular care conține un subformular, nu este activa numai eveniment de formularul principal.
In mod similar, atunci când se închide matrița conținând subformular subformular și intrările sale sunt descărcate după forma principală. Dezactivarea eveniment pentru subforms nu are loc, astfel încât atunci când închideți o formă care conține un subformular, nu este Dezactivați numai eveniment de formularul principal. Evenimente de control, forme și subformular apar în următoarea ordine:
Evenimentele de control pe un subformular, cum ar fi de ieșire și LostFocus.
Evenimente controlează forma principală (inclusiv controlul subformular).
Evenimente forme, cum ar fi dezactivați și Close.
Evenimente subformular.
Notă: Deoarece evenimentele subformular au loc după închiderea formei principale, în subformular nu poate avea loc anumite evenimente, cum ar fi îndepărtarea închiderea formei principale ca urmare a unor evenimente. Verificați condițiile de acest tip ar trebui să fie asociat cu evenimentele din forma principală.
Ordinea de tastatură și mouse-ul evenimente
Evenimente de la tastatură apar în centrul atenției formulare sau controale prin apăsarea tastelor sau comenzile de la tastatură de transmisie. mouse-ul evenimente au loc pentru forme, forme și secțiuni ale comenzilor prin apăsarea butonului mouse-ului, în cazul în care în acest moment indicatorul se află în secțiunea sub formă de formă sau de control. mouse-ul evenimente au loc, de asemenea, atunci când deplasați cursorul în formă, secțiunea sau controlul.
tastatură Evenimente
În cazul în care un element sub formă de control are focalizarea și utilizatorul apasă și eliberează o cheie sau efectuează KomandyKlaviatury macro (sau instrucțiuni relevante), avem următorul lanț de evenimente:
KeyDownKeyPressKeyUp
Când apăsați sau eliberați o comandă cheie sau transmisie tastatură de caractere ANSI corespunzătoare, există întotdeauna evenimentul KeyDown. Și apăsare de tastă keyup. Prin apăsarea și menținerea apăsată tasta ANSI apar alternativ și evenimente KeyDown apăsare de tastă (KeyDown. Apăsare de tastă. KeyDown. Și la apăsarea tastei t. D.) până când tasta este eliberată. Atunci când cheia este eliberată, există un eveniment keyup.
Dacă apăsați și eliberați o tastă, cheia nu este ANSI, apariția unor evenimente KeyDown și keyup. Dacă apăsați și mențineți apăsată tasta, care nu este un ANSI-cheie, atunci înainte de a elibera cheile de acolo și repetat evenimentul KeyDown; atunci când cheia este eliberată keyup are loc evenimentul.
Dacă prin apăsarea unei taste determină un alt eveniment de control, acesta se produce după eveniment apăsare de tastă. dar înainte de eveniment keyup. De exemplu, în cazul în care o apăsați tasta pentru a modifica textul în caseta de text, schimbarea are loc evenimentul în următoarea succesiune de evenimente:
KeyDownKeyPressChangeKeyUp
Dacă apăsarea tastelor determină transferul de control de focalizare de la un element la altul, atunci primul control KeyDown are loc evenimentul. iar pentru al doilea sunt evenimente și apăsare de tastă keyup. De exemplu, în cazul în care utilizatorul schimbă datele în controlul și apasă tasta TAB pentru a trece la următorul control, apar următoarele evenimente:
Primul element de control:
KeyDownBeforeUpdateAfterUpdateExitLostFocus
Element de control al doilea rând:
EnterGotFocusKeyPressKeyUp
mouse-ul Evenimente
Dacă apăsați și eliberați butonul mouse-ului atunci când cursorul se află pe sub formă de control, avem următoarele lanț de evenimente de control:
MouseDownMouseUpClick
În cazul în care se pune accent pe controlul și faceți clic pe un alt control pentru a muta focalizarea la aceasta, vă confruntați cu următorul eveniment:
Primul element de control:
Element de control al doilea rând:
EnterGotFocusMouseDownMouseUpClick
Dacă vă mutați la un alt record, și faceți clic pe comanda, formele eveniment curent are loc înainte de evenimentul Enter de control.
Faceți dublu clic pe cablurile de control la apariția a două evenimente: Faceți clic și DblClick. De exemplu, dacă faceți dublu clic pe controlul pe care nu este un buton, există un lanț de evenimente următoarele controale:
MouseDownMouseUpClickDblClickMouseUp
Dacă faceți dublu-clic pe butonul, secvența anterioară de evenimente are loc, urmat de un al doilea eveniment de clic.
Eveniment secțiune în formă sau control MouseMove apare când cursorul este deplasat în funcție de formă sau secțiune de control. Acest eveniment este independent de alte evenimente mouse-ului.
Procedura pentru evenimente de raportare și secțiuni de raport
Raportul Evenimente
OpenActivateCloseDeactivate
În tranziția între cele două rapoarte deschise are loc raportul eveniment pentru dezactivarea modului primul și al doilea eveniment Activați pentru:
Dezactivarea (Raport 1) Activați (Raport 2)
Deactivate raportează evenimentul, de asemenea, apare atunci când trecerea de la raportul în fila Acces a unui alt obiect. Dezactivarea Totuși evenimentul nu are loc în timpul tranziției la o casetă de dialog în formă, o proprietate care are un PopUp la Da. sau fereastra alt program.
Când deschideți un raport creat bazat pe o interogare, Access creează un raport pentru Open eveniment pentru a efectua interogarea de bază. Acest lucru face posibil să intre în termenii raportului cu proceduri macro sau evenimente care sunt declanșate ca răspuns la Open eveniment. De exemplu, procedura de macro sau eveniment vă permite să deschideți o casetă de dialog personalizat prin care utilizatorul introduce în raportul de stare.
Raportul Evenimente secțiuni
Deschideți (raport) Activare (raport) Format (secțiune a raportului) Print (secțiune a raportului) Închidere (raport) Dezactivare (raport)
În plus, în timpul sau după formatarea raportului formatarea este completă, dar înainte de evenimentele de imprimare pot avea următorul eveniment:
eveniment de retragere are loc atunci când revenirea la un ecran anterior în timpul formatării.
NoData eveniment are loc în absența înregistrărilor este stocată în raport.
Pagina evenimentului are loc după formatarea este completă, dar înainte de a începe imprimarea. Acest eveniment poate fi folosit pentru a personaliza aspectul de imprimare a raportului.