Baze de date
Clase de obiecte in VBAClase de obiecte in VBAO clasa este un fel de tipar de unde provin obiectele. Obiectele din aceeasi clasa mostenesc sistematic trasaturi din toate metodele (coduri), proprietati (date) si evenimentele claselor lor de origine. Prin urmare, caracteristicile si comportamentul fiecaruia vor putea fi adaptate in functie de necesitatile aplicatiei. De fapt, orice obiect Acess provine dintr-o clasa. MODULELE DE CLASA Modulele de clasa permit crearea si manipularea propriilor tipuri de obiecte in aplicatii. Prezinta caracteristicile urmatoare: poarta numele obiectului, cuprind procedurile Sub si Function ce corespund metodelor proprii obiectului, includ procedurile Property Get ce permit citirea valorilor proprietatilor obiectului si procedurlor Property Set/Property Let permitand fixarea valorilor acestor proprietati. Odata ce ansamblul acestor proceduri sunt descrise in cadrul modulului de clasa, este posibila crearea unui nou obiect de tipul definit mai sus. Pentru aceasta, este suficienta crearea unei noi instante de clasa prin intermediul unei variabile obiect de tipul clasei: Dim <object name> As New <class name>. Modulele de clasa sunt rar utilizate in programarea VBA, adresandu-se in special specialistilor. EXEMPLE DE MODULE DE CLASE Acest exemplu este un ghid pas cu pas in crearea si utilizarea unui modul de clasa. Modulul creat va permite afisarea mesajelor utilizatorului. Acest modul prezinta urmatoarele elemente: o metoda Confirmation ce afiseaza o casuta de dialog care invita utilizatorul sa raspunda „Da” sau „Nu” la o intrebarea si primeste raspunsul utilizatorului, doua proprietati: proprietatea IsBeep indica daca un beep trebuie emis inaintea afisarii mesajului; proprietatea Title ce contine titlul casutei de dialog. Exemplu: Pentru a crea un modul de clasa, se selecteaza optiunea Class Module (modul de clasa) al meniul Insert.
Se defineste numele clasei in campul Name.
Daca fereastra Properties nu este afisata, se alege optiunea Window Properties din meniul View sau se foloseste tasta F4. Pentru utilizarea proprietatilor in modulul de clasa Message, se definesc variabilele necesare. Variabila strTitle este asociata proprietatii Title, iar variabila blnBeep proprietatii IsBeep.
Proprietatile IsBeep si Title sunt create folosind optiunea Procedure din meniul Insert.
Sunt create pentru fiecare proprietate procedurile Property Get si Property Set; pentru obtinerea codului urmator, acestea sunt modificate:
Public Property Get IsBeep() As Boolean Is Beep = blnBeep End Property Public Property Let Is Beep(ByVal blnNewValue As Boolean) blnBeep = blnNewValue End Property Public Property Get Title() As String Title = strTitle End Property Public Property Let Title(ByVal strNewValue As String) StrTitle = strNewValue End Property Apoi se creaza metoda confirmarii folosind optiunea Procedure al meniului Insert.
Se modifica procedura Confirmation pentru obtinerea codului urmator: Public Function Confirmation(strMsg) As Boolean Is MsgBox(strMsg, vbYesNo, strTitle) = vbYes Then Confirmation = True Else Confirmation = False EndIf If blnBeep Then Beep EndFunction Se poate observa ca aceasta metoda foloseste cele doua variabile, strTitle si blnBeep. Metoda a fost creata ca o functie deoarece returneaza raspunsul utilizaarului sub forma unei variabile logice (boolean). Odata creata, aceasta clasa va fi utilizata pornind de la un formular. In acest scop, se va crea un formular Angajati cu doua butone de comanda cmdClose si cmdQuit. Se atribuie codul de mai jos evenimentelor click:
Apoi se tasteaza formularul. Casuta de mesaj afisata de metoda Confirmation utilizeaza cele doua proprietati si returneaza raspunsul utilizatorului. Modulul de clasa Message poate fi imbunatatit definind proprietatile si metodele noi (ex: mesajele in caz de eroare).
|