Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Access


Qdidactic » stiinta & tehnica » informatica » access
Gestionarea evenimentelor in ACCESS



Gestionarea evenimentelor in ACCESS


Gestionarea evenimentelor in ACCESS


ASOCIEREA CODULUI VBA LA UN EVENIMENT

Un cod VBA poate fi atribuit unui obiect in doua modalitati:

pornind de la compartimentul Eveniment al ferestrei de proprietati al obiectului in Acces


pornind de la listele derulante de obiecte si evenimente editorul Visual Basic




CATEGORII DE EVENIMENTE

Listele urmatoare de evenimente sunt clasate dupa tip, si cuprind:

numele evenimentului,

numele proprietatii corespunzatoare din fereastra de proprietati ale obiectului (intre paranteze),



descrierea evenimentului,

coloana din dreapta (Anulare) arata daca evenimentul poate fi anulat. Anularea unui eveniment face obiectul paragrafului 6.3.



EVENIMENTELE DE TIP FORMA (FEREASTRA)



Anulare

Open

Are loc la deschiderera formularului dar inaintea afisarii primei inregistrari. Are loc la deschiderea unu raport dar inaintea listarii

DA

Load

(la incarcare) Are loc la deschiderea formularului cand este afisata prima inregistrare.

NU

Resize

(la redimensionare) Are loc la prima afisare a formularului si la modificarile aduse marimii acestuia.

NU

UnLoad

(la descarcare) Are loc la inchidere cand inregistrarile sunt descarcate, insa inainte ca formularul sa dispara.

DA

Close

(la inchidere) Are loc atunci cand formularul sau raportul dispar la inchidere.

NU



EVENIMENTE DE TIP FOCUS

Aceste evenimente se pot aplica formularelor (Activate, Deactivate, GotFocus, LostFocus) sau controalelor (Enter, Exit, SetFocus, LostFocus).

Se spune despre obiect ca are focus atunci cand poate accepta schimbari in urma actiunilor utilizatorului prin intermediul mouse-ului sau a tastaturii. Obiectele care au focus sunt numite obiecte active (ActiveForm sau ActiveControl).




Anulare

Activate

(la activare) Are loc atunci cand fereastra formularului sau a raportului este activata.

NU

Deactivate

(la dezactivare) Are loc atat la activarea unei alte ferestre, (insa inainte ca aceasta sa fie activata), cat si la inchiderea ferestrei.

NU

Enter

(la intrare) Are loc inainte ca un control sa primeasca focus, pornind de la un alt control, sau la deschiderea formularului.

NU

Exit

(la iesire) Are loc inainte ca un control sa isi piarda focus-ul in fata unui alt control din acelasi formular sau din altul.

DA

GotFocus

(la primirea focusului) Are loc atunci cand  un control sau un formular fara control activ primeste un focus.

NU

LostFocus

(la pierderea focus-ului) Are loc atunci cand un control sau un formular pierde focus-ul.

NU


EVENIMENTE DE TIP DATE


Se aplica formularelor asociate unei surse de date (proprietatea RecordSource pornind de la numele unui tabel sau de la o interogare). Acest tip de evenimente se mai aplica controalelor asociate unui camp al sursei de date a formularului (proprietatea ControlSource).




Anulare

AfterInsert

(dupa inserare) Are loc dupa adaugarea unei noi inregistrari in tabel.

NU

AfterUpdate

(dupa MAJ) Are loc dupa actualizarea unui control sau a unei inregistrari cu date modificate.

NU

AfterDel

Confirm


(dupa stergere) Are loc dupa ce utilizatorul a raspuns cererii de stergere a inregistratilor.

NU

BeforeInsert

(inaintea inserarii) Are loc cand se tasteaza primul caracter al unei noi inregistrari, insa inaintea inregistrarii propriu-zise.

DA

BeforeUpdate

(inainte de MAJ) Are loc inaintea actualizarii unui control sau a unei inregistrari cu date modificate.

DA

BeforeDel

Confirm

(inaintea stergerii) Are loc dupa ce utilizatorul a a sters inregistrarile dar inainte ca Access sa ceara confirmare.

DA

NotInList

(la absenta din lista) Are loc atunci cand tastarea unei valori nu se gaseste pe lista si proprietatea limitata la lista este adevarata.

NU

Current

(in momentul activarii) Are loc atunci cand focus-ul trece dintr-o inregistrare in alta. De asemenea, are loc la deschidere inainte ca prima inregistrare sa devina cea curenta.

NU

Change

(in momentul efectuarii unei schimbari) Are loc in momentul modificarii continutului unei zone text sau lista (tastatura sau macro/Visual Basic).

NU

Updated

(la MAJ) Are loc atunci cand datele unui obiect OLE au fost modificate.

NU

Delete

(la stergere) Are loc inaintea stergerii propriu-zise.

DA




Anulare

Dirty

Se produce atunci cand continutul unui formular sau a partii text al unei zone de lista se schimba si la trecerea de la o pagina in alta a unui control.

DA



EVENIMENTE DE TIP MOUSE



Anulare

Click

Are loc cand de efectueaza clic stanga pe un control sau o zona noua a unui formular.

NU

DblClick

Are loc cand se efectueaza dublu clic stanga pe un control sau o zona noua a unui formular.

DA

MouseDown

Are loc la apasarea unui buton al mouse-ului pe un control sau un formular.

DA

MouseMove

Are loc atunci cand utilizatorul deplaseaza mouse-ul pe un formular sau un control.

NU

MouseUp

Are loc atunci cand utilizatorul nu mai apasa cu mouse-ul pe un control sau formular.

NU



EVENIMENTELE DE TIP TASTATURA



Anulare

KeyDown

Are loc la apasarea unei taste sau la executarea instructiunii SendKeys. Insa obiectul poate fi impiedicat sa fie afectat de tastatura atribuind valoarea 0 argumentului Keycode al procedurii KeyDown al obiectului.

NU

KeyPress

Are loc la apasarea unei taste ce genereaza un caracater ANSI standard

Obiectul poate fi impiedicat sa fie afectat de actiunea tastei atribuind valoarea 0 argumentului KeyAscii al procedurii KeyPress al obiectului.

DA(cu macro sau VBA)

KeyUp

Are loc atunci cand utilizatorul nu mai apasa tasta sau cand se executa SendKeys. Obiectul poate fi impiedicat sa fie afectat de actiunea tastei atribuind valoarea 0 argumentului KeyCode al procedurii KeyUp al obiectului.

NU

Proprietatea KeyPreview a unui formular determina daca procedurile eveniment de tastatura la nivelul formularului sunt apelate inaintea celor de la nivelul controalelor. Proprietatea KeyPreview poate fi folosita pentru a crea o procedura de gestionare la nivelul unui formular.

Exemplu:

Exemplul urmator demonstreaza cum se afiseaza un formular cand utilizatorul actioneaza pe tasta F1, oricare ar fi controlul activ.

Private Sub Form_Load()

KeyPreview = True

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, _

Shift As Integer)

`Daca tasta este F1, formularul Find este afisat

`KeyCode este reinitializat pentru a afisa Microsoft _ `Access   Help

If KeyCode = vbKeyF1 Then

DoCmd.OpenForm”Afisare”

KeyCode = 0

End If

End Sub


EVENIMENTELE DE TIP  PRINT

Aceste evenimente se aplica rapoartelor Access:



Anulare

Format

(la formatare) Are loc cand Microsoft Access determina care date apartin caror sectiuni.

DA

Print

(la listare) Are loc atunci cand se redacteaza o sectiune pentru listare.

DA

Retreat

(la reformatare) Are loc cand Microsoft Access revine la o sectiune precedenta in timpul redactarii unui raport.

NU

NoData

Are loc atunci cand Microsoft Access a redactat un raport in scopul listarii sale si cand acesta nu contine data.

DA

Page




Observatie:

Are loc dupa ce Microsoft Access a redactat o pagina a unui raport pentru listarea acestuia, dar inaintea listarii propriu-zise a paginii.


NU

Evenimentele Format, Print si Retreat se aplica sectiunilor rapoartelor.

EVENIMENTELE DE TIP FILTRU



Anulare

ApplyFilter

Are loc atunci cand utilizatorul aplica un filtru.

DA

Filter

Are loc cand utilizatorul creaza un filtru.

DA


EVENIMENTELE DE TIP ERROR SI TIMER



Anulare

Error

Are loc cand survine o eroare.

NU

Timer

Are loc cand o intarziere specifica s-a scurs.

NU



ANULAREA UNUI EVENIMENT

In anumite cazuri, este indicata anularea unui eveniment. Exista doua modalitati de a realiza aceasta:

Specificand numele unui macro ce contine actiunea CancelEvent, ca si parametrul proprietatii de tip eveniment corespunzatoare, de exemplu, pentru a anula actualizarea unui control sau pentru a plasa numele macro-ului ce contine actiunea CancelEvent pe proprietatea sa Before MAJ. Actiunea CancelEvent in VBA foloseste actiunea identica din obiectul Docmd.

Conferind valoarea True argumentului Cancel a unei proceduri.

Exemplu:

Daca data este incorecta, evenimentul Exit este anulat: cursorul este pozitionat pe camp.

Private Sub txtDateSfarsit_Exit(Cancel As Integer)

If IsNull(txtDateSfarsit) Then Exit Sub

`Data trebuie sa fie corecta

If Not IsDate(txtDateFin) Then

MsgBox(„Date incorecte”), vbCritical

Cancel = True

Exit Sub

End If

`Data de sarsit trebuie sa fie >= ca data de inceput

If DateValue(txtDateFin) < DateValue(txtDateDeb) Then

MsgBox(„Data de sfarsit trebuie sa fie mai _

mare decat data de inceput:”), vbCritical

Cancel = True

Exit Sub

End If

End Sub

Observatie:

Nu toate evenimentele pot fi anulate (vezi tablourile precedente de categorii de evenimente).



SECVENTE TIPURI DE EVENIMENTE

O actiune utilizator sau sistem genereaza un eveniment in mod direct, insa, in acelasi timp, pot fi activate mai multe evenimente subordonate.

Urmeaza o suita de secvente tipuri de evenimente:

  • Deschiderea unui formular

Open → Load → Resize → Activate → Current


  • Inchiderea unui formular

UnLoad → Deactivate → Close



  • Intrarea intr-un control

Enter → GotFocus


  • Trecerea dintr-un formular in altul

Exit → Lost Focus


  • Modificarea unei zone de text:

Deactivate Form1 → Activate Form2


  • Actualizarea unei zone de text:

KeyDown → KeyPress → Change → KeyUp → Exit (zona1) →

→LostFocus (zona2) →GotFocus (zona2)


  • Actualizarea unei inregistrari

KeyDown → KeyPress → Change → KeyUp → Before Update

(Zone de texte) →AfterUpdate (Zone de Texte) →BeforeUpdate (Zone de Texte) →Before (Formulare) →AfterUpdate(Formulare)


  • Introducerea unei inregistrari in primul camp

KeyDown → KeyPress → BeforeUpdate (Formular) →Change

→ KeyUp


  • Stergerea inregistrarilor

Delete → Current → BeforeDelConfirm → AfterDelConfirm

EVENIMENTE DE ACTUALIZARE

In Microsoft Access evenimentele de actualizare intervin la doua nivele:

  • actualizarea unui control,
  • actualizarea unei inregistrari.

In cazul actualizarii unui control, sunt executate evenimentele BeforeUpdate si AfterUpdate ale controlului in cauza.

In cazul actualizarii unei inregistrari, sunt executate evenimentele BeforeUpdate si AfterUpdate ale formularului.

Evenimentele de actualizare a controlalelor sunt executate inaintea evenimentelor de actualizare a formularului.




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright