Extras din laborator
Cap.I Elementele de baza ale limbajului de programare VBA - Visual
Basic for Application
I.1. Notiuni generale despre VBA
I.1.1. Uti l izarea l imbajului de programare VBA
Basic este unul din cele mai vechi limbaje de programare. El a fost creat în ideea de a se realiza un
limbaj de programare necesar unui specialist dintr-un anumit domeniu, care nu are cunostinte aprofundate
despre sistemele de calcul.
Basic a fost implementat initial, în sistemele de operare, ca un interpretor, adica ca un sistem care
în momentul în care preia o instructiune sursa Basic, o transforma imediat în instructiuni obiect (cod
masina) si le executa. Pentru a îl face cât mai accesibil, au existat variante de Basic care au implementat si
comenzi specifice unui sistem de operare, ajungându-se pâna la a se realiza calculatoare dedicate pentru
lucrul sub Basic, fara sisteme de operare.
Evident, fiind conceput pe aceste principii, aplicatiile realizate nu erau performante, ele neutilizând
eficient facilitatile unui sistem de calcul.
Treptat, s-a trecut la realizarea unor implementari, tehnic mai performante, prin realizarea de
compilatoare pentru Basic sub diferite sisteme de operare, adica a unor module care transforma un fisier
cu instructiuni sursa Basic într-un fisier care contine instructiuni direct executabile, în cod obiect. În felul
acesta s-au separat cele doua actiuni efectuate de un interpretor în acelasi timp si anume: compilarea
programului sursa si executia programului obiect.
Firma Microsoft a realizat o versiune de Basic, numita Visual Basic, care pe lânga principiile
initiale s-a dorit a rezolva urmatoarea problema – un limbaj de programare universal, unic, care sa poata
fi folosit atât în aplicaiile de sistem (în locul limbajului C) cât si în cele utilizator, performant atât din
punct de vedere al limbajului (implementând conceptele de programare modulara, programare
structurata si programare la nivel de obiect) cât si din punct de vedere al utilizarii tuturor facilitailor
sistemului de operare.
Astfel s-au creat, pe baza aceluiasi nucleu de programare Basic, trei sisteme:
Microsoft Visual Basic (VB), ca limbaj universal de programare;
Visual Basic for Application (Visual Basic pentru aplicatii), prescurtat uzual VBA, ca un
limbaj complex pentru dezvoltarea aplicatiilor în cadrul programelor din Microsoft Office.
Aceasta înseamna ca nucleul limbajului, componentele sale si mediul sunt aceleasi în Access,
Word sau Excel. VBA este aproape identic cu limbajul universal de programare Microsoft Visual
Basic;
Visual Basic Script (VB Script), utilizat în special pentru aplicatiile Internet.
I.1.2. Necesitatea uti l izari i codului VBA în apl icati i Access
Aplicatiile mai simple din Access pot fi scrise fara a fi nevoie de vreo instructiune, eventual
folosind comenzile macro. Desi comenzile macro sunt foarte bune pentru rezolvarea rapida a unor
prelucrari necesare pentru dezvoltarea majoritatii aplicatiilor de baza, realizarea unor aplicatii complexe,
profesioniste în Access se face folosind limbajul VBA. Acest lucru se datoreaza faptului ca, spre deosebire
de comenzile macro, VBA ofera posibilitati de lucru specifice limbajelor de nivel înalt de programare
orientata pe obiecte. Câteva dintre aceste posibilitati sunt:
• tratarea erorilor prin proceduri speciale create de proiectant. În timpul executiei unei aplicatii
pot interveni diverse erori (de exemplu o împartire la zero sau iesirea din domeniul de definitie al unei
variabile etc.) pe care sistemul le trateaza în general prin stoparea modulului unde apar sau chiar a întregii
aplicatii. VBA ofera posibilitatea ca la aparitia unei erori, controlul sa fie dat unui modul de cod VBA,
realizat de proiectant, care sa rezolve în functie de context situatia aparuta, fara a mai fi necesara stoparea
modulului respectiv sau a aplicatiei.
• crearea unor structuri ciclice pentru parcurgerea seturilor de înregistrari. Datele unei tabele sau
cereri de selectie se pot manipula ca pe un fisier specific, numit set de înregistrari;
• execuia proceselor tranzacionale. Acestea reprezinta practic posibilitatea de a efectua
actualizarile într-un set de înregistrari, global, la un anumit moment. În cazul aparitiei unei erori se pot
anula toate actualizarile din procesul respectiv, setul de înregistrari ramânând nemodificat;
• apelarea funciilor Windows API, prin care se pot folosi module ale sistemului de operare;
I-6
• utilizarea variabilelor, constantelor si a literalilor;
• crearea si manipularea prin program a obiectelor necesare aplicatiei;
• crearea de clase de obiecte;
De asemenea VBA usureaza scrierea bibliotecilor de funcii reutilizabile, precum si proiectarea si
depanarea proceselor complexe de catre programatori.
În concluzie, desi comenzile macro pot da solutii rapide problemelor simple, limitarile lor
determina necesitatea folosirii limbajului VBA pentru dezvoltarea solutiilor mai complexe.
I.1.3. Modulele de cod VBA în Access
Codul VBA este scris în unitati numite rutine, care pot fi proceduri (subrutine) sau funcii.
Aceste proceduri si funcii sunt pastrate în obiecte numite module de cod, si anume:
t Module specifice unui anumit formular sau raport. Modulele specifice unui formular sau raport
sunt în general numite coduri din spatele formularelor (Code Behind Forms – CBF). Rutinele din acest
loc pot fi vizibile (cunoscute, apelabile) doar din modulul respectiv de cod. Codul din spatele formularului
sau raportului se poate accesa prin actionarea pictogramei specifice codului VBA (dupa selectia obiectului
respectiv) sau prin apasarea celor trei puncte (…) din dreptul unui eveniment al paginii respective a unui
obiect apartinând formularului sau raportului respectiv.
Daca procedura eveniment nu este creata, atunci automat un Wizard va crea structura acesteia, adica
instructiunile de declarare si sfârsit precum si completarea listei de parametri daca este cazul. Daca
procedura eveniment a fost creata anterior, atunci se va afisa portiunea din pagina de cod a formularului
sau raportului care contine respectiva procedura.
t Modulele globale (generale), se pot afisa prin actionarea paginii Module, din fereastra Database.
Foarte important este faptul ca rutinele scrise în aceasta zona pot fi vizibile (daca sunt declarate Public)
nu numai din toate modulele de cod ale aplicatiei, dar chiar din obiecte ale aplicatiei, din formulare,
rapoarte, cereri sau tabele
Preview document
Conținut arhivă zip
- VBA_SC3_Extras1.pdf
- VBA_SC3_Extras2.pdf