Documente Academic
Documente Profesional
Documente Cultură
Acest capitol propune un indrumator pentru orele de laborator, in vederea insusirii deprinderilor
practice de utilizare a programului Microsoft Access 2003. Acesta va cuprinde atat aplicatii rezolvate
cat si aplicatii propuse studentilor pentru munca individuala. Suntem constienti ca notiunile prezentate
prin exemple in acest capitol nu acopera toate facilitatile de prelucrare oferite de Microsoft Access.
Propunerea noastra este prezentarea unora dintre cele mai utile instrumente de utilizare a SGBD-ului
studiat in partea teoretica.
2. Aplicatia 1
Obiective:
Crearea tabelelor in Design View. Analiza informatiilor si stabilirea structurii tabelelor. Stabilirea
cheilor primare si a indecsilor.
Afisarea unei liste ordonate si aplicarea filtrelor pentru afisarea datelor dupa anumite criterii.
Rezolvare
1. Propunem urmatoarea schema de structurare a datelor:
In tabela LiniiFact se observa faptul ca pentru campul nr_f nu poate fi definita o cheie primara, de
aceea vom adauga campul ID.
Se stie ca un furnizor va apare pe mai multe facturi. Deci relatia dintre tabelele Furnizori si Facturi
este de tipul one-to-many. Pentru a crea aceasta relatie, este necesara adaugarea campului cod_f in
tabela Facturi. Intr-o magazie se gasesc mai multe produse, deci relatia dintre tabela Magazii si tabela
Produse este de tipul one-to-many. Pentru aceasta este necesara adaugarea campului cod_m in tabela
Produse. In acelasi timp un produs se regaseste de mai multe ori (posibil) pe liniile unei facturi, sau pe
liniile mai multor facturi. Deci relatia dintre tabela Produse si tabela Liniifact este one-to-many. Pentru
a o crea este necesara adaugarea campului cod_p in tabela Liniifact. In final, o factura are mai multe
linii, deci relatia dintre tabelele Facturi si Liniifact este de tipul one-to-many.
Pentru a realiza aceste leagaturi, unele tabele trebuie completate cu anumite campuri suplimentare,
care sa permita crearea ulterioara a relatiilor. Pentru aceasta, in tabela copil, se adauga campul pe care
a fost creata cheia primara din tabela parinte. Campurile de tip cheie primara alese vor fi: Furnizori
(cod furnizor), Produse (cod produs), Magazii (cod magazin), Facturi (nr fact) si Liniifact (ID). Deci
tabelele parinte sunt: Furnizori, Magazii si Facturi, iar Produse si Liniifact sunt tabele Copil.
Adaugand si rearanjand tabelele, acestea vor arata ca in figura urmatoare:
Primul pas este crearea bazei de date. Aceasta va purta numele Firme. Pentru a crea baza de date, din
meniul File se alege optiunea New, iar din Task Pane-ul New File se alege optiunea Blank Database.
Primul pas este alegerea locatiei in care va fi salvat fisierul, apoi denumirea propriu-zisa a acestuia.
Dupa crearea bazei de date se trece la analiza fiecarui tabel in parte si alegerea tipului de camp cel mai
potrivit datelor care vor fi salvate in acesta. Propunem urmatoarele:
Dupa ce toate campurile au fost create, se salveaza tabela alegand butonul Save, apoi se apasa sageata
de pe butonul View, de unde se alege Datasheet View, pentru a introduce datele a trei furnizori in
tabela.
in tabela Magazii: cod_m (cod magazin) – Primary key, de tip Number, Field Size: Byte, Caption:
Cod magazin, Required: Yes; den_m – de tip Text, Field Size: 15, Caption: Denumire magazie,
Indexed: Yes (Duplicates OK), gest – de tip Text, Field Size: 30, Caption: Gestionar. Vom introduce
in continuare 3 magazii, cu codurile magazilor 111, 112 si 113;
in tabela Produse: cod_p – Primary key, de tip Number, Field Size: Long Integer, Caption: Codul
produsului, Required: Yes; den_p (denumirea produsului) – tipul campului Text, Field Size:15,
Caption: denumirea produsului; um (unitate de masura) – de tipul Lookup Wizard, apoi selectam – I
will type in the values that I want, la optiunea Number of Columns lasam 1, iar in lista col1 vom tasta
pe rand, una sub alta, valorile dorite: kg, l, cm, buc, selectand butonul Next, apoi Finish; stoc (stocul
disponibil in magazie) – de tip Number, Field Size: Long Integer, Caption: unitate de masura,
Required: Yes; pret_u, de tip Currency, Caption: Pret unitary; cod_m (cod magazie) – un camp de tip
Lookup Wizard – vom selecta optiunea I want the lookup column to lookup the values in a table or
query, apoi se allege tabela Magazii; selectam campul cod_m (cod magazie):
Ordonarea va fi facuta dupa acelasi camp cod_m, putandu-se observa valorile introduse anterior in
tabela Magazii:
In continuare se selecteaza butonul Next, apoi Finish. Intre cele doua tabele (Magazii (tabela parinte)
si Produse (tabela copil) va fi creata automat o relatie). Pentru ca aceasta relatie sa fie de tipul one-to-
many, vom introduce minim 4 produse, 2 dintre ele gasindu-se in aceeasi magazine, de exemplu cea cu
codul 113;
tabela Facturi: nr_f (numarul facturii) – Primary key, de tip Number, Field Size: Long integer,
Caption: Numarul facturii, Required: Yes; data_f – de tip Date/Time, Caption: Data Facturii,
Required: Yes, Format: Short date, cod_f (cod furnizor) – tipul de date Lookup Wizard, ne legam de
tabela Furnizori, campul cod_f, Caption: Cod furnizor. Tabela Facturi este copilul tabelei Furnizori.
Avand 3 furnizori in tabela parinte, vom introduce minim 4 facturi, codul furnizorului 125 repetandu-
se de 2 ori:
tabela Liniifact: ID – Primary Key, un camp de tip Autonumber, Caption: Numar
curent; nr_f (numarul facturii) – un camp de tip Lookup Wizard, ne legam de tabela Facturi, campul
nr_f, Caption: Numarul facturii; cod_p (codul produsului) – un camp de tip Lookup Wizard, ne legam
de tabela Produse, campul cod_p si cant – un camp de tip Number, Field Size: Integer, Caption:
Cantitate. Acest tabel fiind copilul tabelelor Produse si Facturi, vom introduce minim 5 inregistrari:
Selectand pentru fiecare relatie in parte optiunile respective, se obtine urmatoarea situatie:
2. Pentru a vizualiza datele intr-o anumita ordine se pot folosi butoanele de pe bara de unelte , sau:
Pentru aceasta trebuie sa fim pozitionati pe o anumita coloana din tabel, in modul de
vizualizare Datasheet View.
3. Pentru a filtra datele dintr-o anumita tabela putem selecta fie unul dintre butoanele: Filter
by selection, respectiv Filter by form, si Apply/Remove filter, fie una dintre optiunile din
urmatoarea figura. Optiunea Filter by Form ascunde inregistrarile, permitand fie selectarea valorii
dorite utilizand combo-box-ul corespunzator coloanei dorite, fie introducerea unei sau mai multor
valori, operatorul dintre conditiile multiple fiind AND. Pentru a vedea rezultatul, se selecteaza
butonul Apply Filer de pe bara de unelte Table Datasheet.
Ultima optiune – Advanced Filer/Sort permite deschiderea unei ferestre cu ajutorul careia putem
sorta si compune conditii compuse, putandu-se utiliza operatorul OR intre conditii:
2.1. Aplicatie propusa
Se cere informatizarea activitatii unei societati de asigurari. Clientii pot fi persoane fizice sau juridice
caracterizate printr-un numar unic, nume si prenume/denumire, adresa si telefon. Acestia pot sa
incheie diferite tipuri de asigurari (de bunuri, de viata etc). Asigurarile sunt incheiate de agentii ce sunt
identificati printr-un cod unic, nume si prenume. Contractul de asigurare este caracterizat printr-un
numar, data incheierii, obiectul asigurarii, perioada (in luni), valoarea asigurata si prima ce va trebui sa
fie platita in fiecare luna de client. Clientii efectueaza plata primelor prin ordin de plata (persoane
juridice) sau direct la casierie (persoane fizice), eliberandu-se chitante. Documentul de plata contine:
numarul documentului, data la care a fost intocmit si suma platita. In momentul producerii riscului
pentru care a fost intocmita asigurarea, societatea plateste clientului despagubiri. La plata
despagubirilor se intocmeste un proces verbal care este caracterizat prin nume, data incheierii,
descrierea cauzei ce a generat despagubirea si procentul in care este despagubit clientul.
Se cere informatizarea activitatii la o filiala CEC. Clientii filialei sunt identificati prin seria si numarul
de buletin, data eliberarii buletinului, nume, prenume si adresa. Fiecare client poate sa detina unul sau
mai multe cecuri. Pentru fiecare cec se cunoaste: seria, numarul, data la care a fost eliberat, suma
depusa in momentul eliberarii si tipul cecului (poate fi la termen si la vedere). De asemenea, fiecare
cec poate sa aiba unul sau mai multi titulari. Fiecare client poate efectua depuneri si restituiri.
Depunerile se efectueaza prin intermediul unei foi de depunere (FD) caracterizata prin: numar, data si
suma depusa. Restituirile se efectueaza prin intermediul foilor de restituire (FR) caracterizate prin:
numar, data si suma restituita. Fiecare cec se poate lichida de catre unul din titulari prin intermediul
unei foi de lichidare (FL) caracterizata prin: numar, data si suma din momentul lichidarii. Dobanda
acordata pentru cecuri se modifica de la o zi la alta si este diferita pentru cecurile la termen fata de cele
la vedere.
3. Aplicatia 2
Pentru a vizualiza cat mai sugestiv relatiile dintre tabele, se vor crea formulare cu subformulare.
Formularele create vor fi modificate pentru a adauga titluri, butoane de comanda si controale de tip
Textbox pentru afisarea si calcularea valorilor TVA si VALOARE.
Se cere crearea unei forme de meniu. Aceasta va apela cu ajutorul butoanelor de comanda alte forme,
cate una pentru fiecare table, pentru vizualizarea datelor.
Se doreste crearea unui panou de comanda (Switchboard) pentru crearea unui meniu care sa contina
toate formele.
Obiective:
Rezolvare
1. Pentru a proteja baza de date cu o parola, aceasta trebuie deschisa in mod Exclusive. Pentru aceasta,
vom inchide baza de date, alegem optiunea Open, dupa selectarea bazei de date se apasa sageata din
dreptul butonului Open, pentru a alege optiunea Open Exclusive.
2. Pentru a crea un formular pentru fiecare tabel in parte, se selecteaza tabelul, apoi din
meniul Insert se alege optiunea Autoform.
De exemplu, pentru tabela Facturi, fiind tabela parinte tabelei Liniifact, automat se va crea un formular
cu un subformular.
3. Pentru a adauga un titlu in antet si butoane de comanda acestei forme, vom utiliza
butonul View pentru a trece in Design View:
Pentru a adauga un titlu in partea de antet (Header), se utilizeaza controlul Label de pe bara de
unelte, , se tasteaza textul dorit, apoi se formateaza folosind butoanele de pe bara de unelte.
Pentru a adauga un control de tip buton de comanda, trebuie ca butonul Control Wizards
sa fie selectat. Apoi, se alege butonul Command Button , dand un click in zona de subsol.
Aceasta va porni asistentul care permite construirea butonului. Actiunile pe care le putem atasa
butonului de comanda sunt grupate in mai multe categorii. De exemplu, pentru a inchide o forma, se
selecteaza categoria Form Operations, selectand apoi actiunea Close Form. La apasarea
butonului Next asistentul va ghideaza pentru a alege fie o imagine grafica asociata butonului, fie un
text. Ultimul pas este dat de denumirea butonului. Dupa conventiile cunoscute, orice buton de
comanda are un antet de 3 litere, cmd, deci numele acestuia va fi cmdIesire. Analog se construiesc
restul butoanelor dorite. Forma se va salva cu numele Facturi-Liniifact. Analog se construiesc restul
formelor.
Vom construi o forma care sa contina datele din tabelele Produse si Liniifact. Pentru aceasta, vom
selecta optiunea Create Form in Design View. Vom deschide fereastra Properties pentru a selecta
tabelele de unde vor fi preluate datele. Pentru aceasta, fiind pozitionati pe forma, apelam meniul
contextual (click-dreapta) si alege Properties:
Pentru a calcula un camp, acesta trebuie creat cu ajutorul controlului Text-box de pe bara de unelte
Toolbox. Selectand controlul si dand un click pe forma, vom observa o eticheta cu numele Text urmat
de un numar, si un text-box in care apare completat Unbound. In locul textului se completeaza: TVA,
iar in locul lui Unbound se tasteaza =0,19*[cant]*[pret_u]. Pentru a formata aceasta caseta de text, din
fereastra Properties, optiunea Format, se alege Currency.
4. Pentru a crea o forma de meniu, se creaza o forma cu ajutorul optiunii Create a Form in Design
View, apoi se creeaza butoanele de comanda (cu ajutorul asistentului Control Wizards), selectindu-se
de la categoria Form Operation, actiuneaOpen a form, urmand a selecta numele formei care se
doreste a fi deschisa atunci cand se executa click pe buton.
Pentru a crea o noua optiune (un nou buton pe panoul de comanda) se alege butonul New:
Analog se creaza pentru fiecare forma o noua optiune. Pentru a crea un buton care permite parasirea
aplicatiei:
Putem alege oricare actiune dintre urmatoarele:
4. Aplicatia 3
Sa se creeze o interogare care sa permita afisarea informatiilor de pe toate facturile (nr_f, data_f,
den_p, cant si pret unitar) pentru data curenta.
Sa se creeze o interogare pentru tabela Produse, afisandu-se pentru fiecare inregistrare TVA-ul si
Valoarea (cant*pret).
Sa se creeze o interogare care sa permita citirea interactiva in momentul executiei a unui numar de
factura si afisarea informatiilor legate de aceasta.
Sa se creeze o interogare care sa permita afisarea tuturor facturilor eliberate intre 2 date calendaristice
(operatorii Between cu And).
Sa se creeze prin intermediul unei interogari un nou camp cu numele Observatii care va contine textul
“Produs eficient” daca valoarea este mai mare decat o anumita valoare sau “Produs ineficient” daca
valoarea este mai mica decat acea valoare.
Sa se afiseze toate facturile eliberate luna aceasta.
Operatorul Like:
b. Sa se afiseze doar produsele care sunt din 5 litere si incep cu litera p.
Sa se creeze un nou tabel pe baza tabelelor Facturi, Produse si LiniiFact, rezultatul unei interogari,
care sa contina toate datele din toate tabele, suprimand aparitia dublata a campurilor de legatura,
tabelul fiind ordonat alfabetic dupa denumirea produselor.
Sa se numere cate produse au pretul mai mic decat 100 lei. Sa se salveze interogarea cu numele
Minim.
Sa se calculeze valoarea medie a valorii tuturor facturilor. Sa se salveze interogarea cu numele Medie.
Obiective:
Interogari cu parametru.
Functia IIF.
Rezolvare:
3. Se selecteaza tabelele Facturi, Produse si Liniifact, campurile: nr_f, data_f, den_p, pret_u si cant.
Pentru a crea o interogare cu parametru, care sa permita citirea interactiva a numarului facturii de pe
tastatura, pe coloana nr_f, linia Criteria se tasteaza [Introduceti numarul facturii]
6. Vom folosi 2 functii care pot fi aplicate unor date calendaristice: Datepart (o parte dintr-o data
calendaristica) si functia Month (extrage luna dintr-o data calendaristica).
10. Deschidem interogarea de la punctul 2, unde avem calculata valoarea. Salvam interogarea cu un alt
nume, trecem in Design View si stergem sau modificam restul campurilor, lasand doar
urmatoarele: nr_f si valoare.
11. Pentru a crea o noua tabela cu toate inregistrarile din tabelele Facturi, Produse si Liniifact, se
adauga toate campurile din aceste tabele, fara a duplica respectivele campuri, iar din meniul Query se
alege optiunea Make Table Query, se da un nume tabelei noi create, apoi se salveaza interogarea, si
apasa butonul Run pentru a executa actiunea:
Mesajul urmator este doar unul de avertizare, si anume datele salvate in tabele vor fi adaugate in
tabelul nou creat. Deci vom apasa butonul Yes.
13. Pentru a calcula valoarea totala pe fiecare factura in parte, se grupeaza datele dupa numarul facturii
(interogari de tip Totals) si se alege functia SUM:
Sa se incerce toate tipurile de interogari din exemplul anterior pe problemele propuse 2.1 si 2.2.
5. Aplicatia 4
Sa se creeze un raport pentru tabelul Furnizori, datele fiind grupate dupa localitate.
Sa se creeze un raport pentru afisarea datelor de pe fiecare factura in parte, calculandu-se valoarea
facturii si valoarea totala a tuturor facturilor.
Obiective:
Rezolvare:
1. Pentru a crea un raport cu ajutorul asistentului, se alege optiunea Create Report by Using Wizard.
La primul pas se alege tabela sau interogarea pe baza careia se va crea raportul (Tables/Forms). Din
caseta Available Fields se selecteaza campurile dorite, apoi se apasa butonul Next.
La pasul 2 se selecteaza criteriul de grupare, in cazul de fata vom grupa furnizorii dupa localitate.
Daca se apasa butonul Grouping Options se pot alege mai multe variante de grupare: dupa prima
initiala, a doua, etc
Daca datele care dorim sa apara provin din mai multe tabele, sau avem nevoie de unele campuri
calculate, putem crea o interogare in care sa selectam tabelele, calculand campurile dorite, apoi cream
raportul pe baza interogarii.
Daca se doreste adaugarea unui camp care va fi calculat, se alege de pe bara de
unelte Toolbox controlul TextBox. In caseta in care apare Unboand, se incepe cu simbolul =, apoi se
tasteaza functia sau formula dorita. Numele campurile vor fi trecute intre paranteze drepte. De
exemplu, un camp valoare ar putea fi calculat astfel =[cant]*[pret_u]*0,19
2. Pentru a crea raportul, vom alege ca sursa a datelor interogarea cu numele Valoare. Daca in aceasta
interogare avem campuri de tip Numeric, la pasul 3 se selecteaza butonul Summary Option, bifand
check-box-urile de sub functia SUM pentru campurile TVA si Valoare.
6. Aplicatia 5
Obiective:
Crearea butoanelor de comanda fara ajutorul asistentului.
Instructiuni SQL – inserarea unei noi inregistrari, modificarea valorii unui camp, selectia datelor.
Rezolvare:
Pentru a introduce instructiuni atasate butoanelor trebuie sa apelam editorul Visual Basic. Pentru
aceasta, se apeleaza meniul contextual al fiecarui buton in parte, se alege Build event, Code builder,
OK.
End Sub
Toate liniile care incep cu caracterul apostrof sunt comentarii, ele vor fi ignorate de compilatorul
Visual Basic.
Butonul 2
DoCmd.OpenTable 'Produse'
End Sub
Butonul 3
End Sub
Butonul 4
End Sub
Butonul 5
DoCmd.RunSQL 'Select cod_p, den_p, um, stoc, pret_u, cod_m into StocNul from produse where
stoc=0'
DoCmd.OpenTable 'StocNul'
End Sub
Butonul 6
v_cod = InputBox('Introduceti un cod pentru a fi afisate produsele cu codul mai mare decat aceasta
valoare')
DoCmd.RunSQL 'Select cod_p,den_p,um,stoc, pret_u, cod_m into Temp1 from produse where
cod_p>=' & v_cod
DoCmd.OpenTable 'Temp1'
End Sub
Butonul 7
DoCmd.RunSQL 'select cod_p, den_p, um, categorie, pret, cant, cant*pret as valoare into Valoare
from produse'
DoCmd.OpenTable 'Valoare'
End Sub
Butonul 8
Private Sub cmdIesire_Click()
DoCmd.Quit
End Sub
GLOSAR DE TERMENI
Data o informatie codificata si stocata pe un suport de memorare. Din
punctul de vedere al prelucrarii de calculator, in cadrul aplicatiilor,
datele se definesc cu ajutorul unui nume (identificator), a
atributelor pe care le are si de o valoare.
Organizarea reprezinta procesul de identificare, definire, evaluare, structurare si
datelor memorare a informatiilor, in cadrul unui sistem informational. Prin
organizarea datelor se realizeaza gruparea datelor in colectii de
date omogene, se stabilesc care sunt relatiilor dintre date, dintre
elementele colectiilor si dintre colectii, precum si modul de stocare
a datelor pe suportul fizic de memorare.
Fisierul este o structura care grupeaza date dintr-un anumit domeniu care
au anumite caracteristici comune. Din punct de vedere fizic fisierul
este o colectie finita de inregistrari fizice, iar din punctul de vedere
al semnificatiei, o colectie de inregistrari logice, numite si articole.
Din punctual de vedere al sistemului de operare fisierul are un
nume si eventual o extensie de fisier.
Redundanta reprezinta o proprietate a unei colectii de date care se refera la
datelor faptul ca unele componente ale colectiei de date sunt memorate de
mai multe ori pe suportul de memorare. Cresterea redundantei are
ca efect aparitia de erori frecvente datorate neconcordantei
informatiilor memorate in fisiere apartinand unor aplicatii diferite,
rezultand costuri de actualizare marite corespunzator.
Baza de date este un ansamblu structurat de date legate structural intre ele, un
depozit de date unic definit o singura data si utilizat simultan de
mai multi utilizatori. Baza de date este o resursa comuna si
partajata. Baza de date contine nu numai date ci si descrierea
acestora.
Modelul de date este o colectie integrata de concepte, necesare descrierii datelor, a
relatiilor dintre date si a constrangerilor asupra datelor dintr-o
organizatie, o reprezentare abstracta a obiectelor si a evenimentelor
lumii reale si a asocierilor dintre acestea, cu ajutorul caruia se
reprezinta o organizatie.
Limbajul pentru este un limbaj specific pentru fiecare SGBD fiind utilizat pentru a
definirea specifica schema bazei de date. Este un limbaj descriptiv care
datelor (LDD – Data permite administratorului bazei de date, respectiv utilizatorului
Description final sa descrie si sa defineasca entitatile din baza de date precum
Language) si relatiile existente intre entitati, adica sa defineasca o schema sau
sa o modifice.
Limbajul pentru este un limbaj care asigura un set de procedee ce permit operatiile
manipularea de baza pentru manipularea datelor din baza de date. Operatiile
datelor (LMD – executate in cadrul bazei de date presupun existenta unui limbaj
Data Manipulation specializat in care comenzile se exprima prin fraze ce descriu
Language) actiuni asupra bazei de date.
Limbajul pentru este un limbaj specific care include comenzi pentru asigurarea
controlul confidentialitatii si integritatii datelor, pentru salvarea informatiei cu scopul
datelor (LCD – Data mentinerii integritatii bazei de date si chiar pentru rezolvarea problemelor
Control Language) de acces concurential la date.
Tabelele contin datele propriu-zise corespunzatoare entitatilor din baza de date,
organizate sub forma unei matrice in care coloane reprezinta atribute
(campuri), iar liniile aparitiile, realizarile entitatii (inregistrari).
Inregistrarea este o linie dintr-un tabel, in care fiecare camp contine o valoare concreta
dintr-un domeniu de valori si contine informatii care identifica o anumita
realizare concreta a entitatii; persoana, loc sau obiect
Campul este o informatie individuala din componenta unei inregistrari, iar fiecare
coloana din tabelul Access reprezinta un camp diferit.
Interogarile sunt obiecte virtuale de tip tabela, adica vizualizari, care nu au
corespondent fizic, fiind definite cu ajutorul tabelelor definite deja in baza
de date.
Formularele sunt obiecte folosite pentru a consulta sau actualiza datele dintr-un
tabel sau o structura de interogare.
Rapoartele sunt obiecte folosite pentru a sintetiza datele stocate intr-o tabela
reala sau virtuala si a oferi un rezultat tiparit al informatiilor din
baza de date – un raport ACCES, de la cea mai simpla lista a unui
tabel pana la rapoartele cele mai complexe ce contin regrupari de
inregistrari si calcule.
Paginile de reprezinta obiecte specifice ACCESS care permit afisarea intr-un
prezentare format accesibil care permite transmiterea rapida a datelor prin
Internet sau Intranet.
Macro-urile reprezinta o modalitate optima de acces la date, care permit
automatizarea mai multor sarcini folosind un limbaj specific.
Pentru a rezolva o sarcina mai complexa se poate construi
un macro (format dintr-o multime de actiuni) sau
o procedura (formata dintr-o succesiune de instructiuni in Visual
Basic).
Modulele contin o parte a codului VBA al aplicatiei, si anume declaratiile de
variabile si constante, functiile si procedurile globale ale intregii
aplicatii. VBA reprezinta un mediu de programare orientat
obiect.
Evenimentul reprezinta actiunea utilizatorului sau a sistemului asupra unui
obiect ceea ce declanseaza executia codului program
corespunzator.
Bibliografie
T.Connolly, C.Beg, A.Strachan, „Baze de date – proiectare, implementare, gesionare”, Ed. Teora,
Bucuresti, 2001;
I.Despi, G.Petrov, R.Reisz, A.Stepan, „Teoria generala a bazelor de date”, Ed. Mirton, Timisoara, 2000;
C.Fehily, „SQL –visual quickstart guide”, Ed. All, Bucuresti, 2004;
V. Florescu, P.Nastase, F.Berbec, „Baze de date – fundamente teoretice si practice”, Ed. Infomega,
Bucuresti, 2002;
C.Giulvezan, G.Mircea, „Baze de date. Teorie si practica. Acces si VBA”, Ed.Universitatii de Vest, Timisoara,
2006;
L.Hurbean, „Baze de date. Concepte teoretice si abordare practica in Microsoft Access”, Ed. Mirton,
Timisoara, 2006;
M.Muntean, „Baze de date in sisteme informatice economice”, Ed. Mirton, Timisoara, 2002;
P.Nastase s.a. „Baze de date – Microsoft Access 2000”, Ed. Teora, Bucuresti, 1999;
R.Smith, D.Sussman, „Programare in ACCESS 97 VBA, pentru incepatori”, Ed. Tora, Bucuresti, 1999;
M.Velicanu, I.Lungu, M.Muntean, „Dezvoltarea aplicatiilor cu Visual FoxPro”, Ed. All, Bucuresti, 2001;
***, „Microsoft Visual Basic 6.0 – ghidul programatorului”, Ed. Teora, Bucuresti, 1999.