SPECIALIZAREA MATEMATICǍ și INFORMATICǍ [609995]

1
UNIVERSITATEA BABEȘ -BOLYAI CLUJ -NAPOCA

FACULTATEA DE MATEMATICǍ ȘI INFORMATICǍ

SPECIALIZAREA MATEMATICǍ și INFORMATICǍ

LUCRARE DE LICENȚĂ

Conducător științific
Prof.univ.dr. Vasile Cioban

Absolvent: [anonimizat]

2018

2

UNIVERSITATEA BABES -BOLYAI
FACULTATEA DE MATEMATICA -INFORMATICA
SPECIALIZAREA MATEMATICA -INFORMATICA

Lucrare de licenta
Gestinea unei baze de date
interactiva

Student: [anonimizat], 2018

3
CAPITOLUL 1
TEMA și NECESITATE

Tema acestei lucrări de licență este una oarecum des intâlnită în cadrul firmelor,
ea fiind folosită cu predominanță în gestiune. Fără aceasta, majoritate firme lor, dar nu
numai, ar trebuii să -și documenteze toate datele pe foi, care urmează a fi depozitate
în mape , dosare , puse pe regiștri .
Cu ajutorul ba zelor de date online sau chiar ș i a celor stocate în baza de date
locale această muncă poate fi mult mai ușor efectuată și ajută mult mai mult la
interac țiunea client – personal , în care acel personal al firmei ajunge mult mai r apid
la informație și este mult mai detaliată, astfel clientului îi este acordată mult mai eficient.
Nu doar firmele au nevoie
de o asemenea aplicaț ie de
gestiune a documentelor, dacă se
poate zice așa, chiar și anumite
persoane pot să facă o baza de
gestiune pentru ei, pentru a
gestiona mai bine timpul și pot fi
folosite ca și notițe pentru a reaminti
de anumite lucruri sau lucr ări care
sunt programat e sau urmează să fie
programate, cu tot cu detalii, dată
de execu ție, și alte observa ții
adiacente.
Această temă deși pare una destul de simpla , tinând cont că într-un exemplu
cu 2-3 tabele, 5 -6 forme de interacț iune cu acele tabele, 3 -4 rapoarte pe baza acelor
tabele, rezultând o lucrare de aproximativ o zi, maxim doua zile de programare, până
la terminarea acestul program, considerând o lucrare ușoară pentru numai 2 -3 tabele.
Ceea ce este destul de eron at din p unctul de vedere al legăturilor și a necesităț ii
în dezvoltare , a acestei aplicaț ii. Aplicația poate fi de la cea mai simplă doar prin
afișarea cele trei tabele, care nu își are rostul în cadrul unei firme, dar dacă aceea
aplicație de gestiune are funcții de afișare , editare , ștergere , precum și

4
partio nalizare a fiecărui tabel cu restricți pentru fiecare câ mp din tabel cu material
auxiliar .

Pentru acele restricț i, pentru verificare cât și pentru acces permis anumit or
persoane doar, atunci lucrurile se complică ș i de la acele două zile se poate ajunge și
până la o lună, tinâ nd cont de o medie de lucru de 4-5 ore pe zi , cu doar ace le 2-3
tabele amintite mai sus.
Deși tema pare destul de comună , foarte puține persoane acceptă o asemenea
provocare ca și temă , deoarece necesită multă gândire și reflecție înainte de a pune
în practică. Pentru a î ncepe o luc rare de acest gen pentru o firmă , programatorul
trebuie să se intâlnească cu un reprezentant al firmei și să discute despre așteptările
de la acest program.
După ce reprezentatul își exprimă necesitatea de la aplicaț ie, programatorul
trebuie să traducă această necesitate în cod programabil, deoarece reprezentatul
exprimă necesitatea sa de la aplicaț ie în limbaj natural și de asemenea exprimă doar
o necesitate superficială, doar necesarul efectiv .

5
Programatorul îi aduce la cunostiință reprezentatului că aplicația are mult mai
multe funcții pe care el le poate activa dacă reprezentatului î i sunt utile. După discuț ii,
de la ideea reprezentatului de aplicaț ie se ajunge la o altă idee, mult mai complexă
față de proiectul iniț ial.
Tema proiectului nu este una extrem de lungă pentru a putea fi structurata în
totalit ate pentru un proiect de licență . Faptul i mport ant la această temă este că face
parte dintr -un domeniu IT important , atât pentru angajator cât și pentru studenț i sau
chiar elevi care activează in acest domeniu al programării bazelor de date . Ace stea
sunt folosite peste tot , începând de la firme cu capi tal mic, până la cele cu capital de
ordinul miliardelor de euro.
Alegerea temei este destul de grea din perspectiva bogăț iei câmpului de
selecț ie din care se poate alege, domeniul IT cuprinzâ nd multe limbaje , medii de
programare și chiar anumite provocă ri. La tema aleasă s -a ajuns în urma faptului că
este o provocare și o diferențiere de majoritatea lucrărilor de licență comune.
Tema nu este una neî ntâlnită, dar totuși nu este nici una foarte comună , bazele
de dat e fiind un domeniu cu foarte multă muncă înainte de a programa . Bazele de date
ca și denumire ascunde doar un procent m ic din ceea ce poate face o bază de date
pe lângă faptul c ă aceasta poate reține informații î n câmpuri și poate fi accesată foarte
ușor pentru identificare unei inform ații dorite .
Aplicația poate face cele patru mari acț iuni omologate ( CRUD : Create , Read ,
Update , Delete ), care sunt necesare pentru orice bază de date.

Acțiunile pot fi accesate foarte uș or prin intermediul u nor butoane pentru a face
mai ușoară interacț iune cu utilizatorul, acesta urmând a fii orice persoană, atâ t un
programator experimentat , cât și o persoană fără experiență în domeniul IT .

6

O bază de date g estionată este foarte importantă din mai multe pu ncte de
vedere ea fiind totodată, o alternativă a tutur or rafturilor cu etichete în care se caută
un anu mit document, manual fără a avea la dispoziție anumite unelte de că utare
digitale. Cu ajutorul lor se fac mai multe decât păstrarea , afișarea , editare sau
ștergerea informațiilor.
Se pot genera anumite fișiere pentru printare sau trimit ere în format electronic
altor persoane sau firme, acestea fiind generate automat de anumite funcț ii scrise de
către programator .

Cele mai ras pândite baze de date
sunt cele pe model relational. Deoarece
este cel mai uș or de gestionat și de
memorat, chiar și de aplicat
reguli(restricții) pentru adă ugare, pentru
anumite obiecte.

Acestea sunt adesea memorate într -un
fișier sau mai multe, depinde de caz.

În cazul mai mult or fișiere nu este
neapărat ca baza de date să aibă o
dimensiune mult mai mare decât cea
memorată într-un singur fiș ier, putând avea
câte un fiș ier pentru fiecare cap de tabel ce
îl conține baza de date aferentă acelor
fișiere.

7

Una din cele mai importante părți la o bază de date este structurarea ei în
vederea intelegerii ulterioar e. Fără o structură stratificată și stabilă gestionarea datelor
este deteriorată și duce la o pierdere a infomației adaugate chiar si la a celei deja
existente in baza de date.

Totuși majoritatea programelor au un spatiu de “backup” în care sunt păstrate
datele înainte de efectuarea unui anumit număr de operații sau cu un anumit timp în
urmă, backup -ul făcându -se automat la un interval de timp setat initial sau putând să
se facă manual de către o persoană autorizată din cadru l companiei pe baza unui cod
de acces la această facilitate.

8
CAPITOLUL 2
LIMBAJE FOLOSITE în APLICATIE

2.1. Visual Basic For Application
2.1.1 . Noțiuni Introductive
Limbajul Visual Basic for A pplication (VBA) este un limbaj axat pe
evenimente și obiecte . În Microsoft Access obiectel e su nt caracterizate prin
proprietaț ile și metodele acestora . Stările acestora se pot modifica prin metode, iar prin
proprietăți se indică aceasta.

2.1.2 . Editarea modulelor VBA
În Access modulele sunt obiecte ale bazelor de date, acestea aproba scrierea de
rutine limbajului VBA. Acestea pot fi formate din : declarații de variabile, tipuri de date
utilizate, proceduri sau funcții, declarații API. Funcțiile sau procedurile pot fi grupate
pe module în funcție de prefer ințele programatorului. În concluzie o funcție sau o
procedura poate fi apelată din orice obiect al bazei de date, excepție facând cazul
declarării acestora ca Private.

Grupare funcțiilor sau procedurilor după criterii funcționale se recomandă pentru
o co nsultare sau actualizare cât mai simplă. Pentru crearea unui modul nou se

9
actionează Butonul New , iar pentru modificări se selectează modului dorit, după care
se actionează Butonul Design sau prin apăsarea Dublu -Clic direct pe modul. Pentru
eliminarea unui modul existent se selectează acesta după care se actionează tasta
Del sau butonul de stergere aflat in bara de butoane.
Acestea sunt automat transcrise în forma în care sunt declarate, atât cuvintele
cheie cât și cele utilizator, dacă acestea sunt scrise corect. Editorul are facilitați de
colorare a cuvintelor cheie, declarațiilor utilizator, comentariilor, frazelor eronate etc.
Asupra rutinelor VBA operează două tipuri de verificări sin tactice :
 La nivel local
1. În dreptul fiecarei instrucțiuni, în timpul scrieri acestora ;
 La nivel contextual , asupra întregii rutine:
1. La execuția unei rutine ;
2. La compilarea evidenta comandata de programator.
Cea mai puternică facilitate a editor ului VBA este posibilitatea afișă rii contextuale
în momentul scrierii în VBA a elementelor care caracterizează un anumit context.
Astfel, programatorul nu trebuie să retină cuvintele chei e (proprietăț i, metode, obiecte,
tipuri de date etc.) aș a cum sun t definite, unele dintre ele fiind destul de lungi, ci doar
să știe de existenta acestora. VBA afișează într-un anumit con text numai elementele
(proprietăț i, metode, obiecte, tipuri de date etc.) caracteristice acestu ia. Utilizatorul
trebuie doar să aleagă eleme ntul dorit, nemaifiind nevoie să îi scrie denumirea
completă de la tastatură , acest lucru permitând scrierea rapidă de proceduri și funcții.
De asemenea, în timpul edită rii rutinelor, programatorul poate apela help -ul
contextual.1

10
Instrucțiunile se redactează câte una pe un rând. Este permisă și scrierea mai
multor instrucțiuni pe același rând, ele fiind separate prin “ : ”. O instrucțiune poate fi
scrisă pe mai multe rânduri, dacă la finalul fiecăruia se pune “ – ”, excepție făcând
rândul care o încheie. Comentariile sunt precedate in VBA de caracterul “ ` ”, care
permite autodocumentarea rutinelor și nu afectează deloc secvența de instrucțiuni
unde se regasește, ci este doar un text explicativ.
2.1.3 Instrucțiuni pentru afiș area și introducerea datelor
Evident, formularele și rapoartele reprezintă o formă elegantă de introducere și
respectiv afiș are a datelor care se bazează în principal pe s tructura bazei de date. În
afară de acestea, există în VBA instrucțiuni pentru i ntroducerea unor date izolate și
afișarea de mesaje. A ceastă necesitate se simte mai ales în faza de test a unei
proceduri sau funcții sau pentru afișarea de mesaje că tre utilizatorul bazei de date. 1
De la tastatură se introduc secvenț e de caractere utilizând instrucțiunea
urmatoare:
InputBox
(<mesaj>, [< titlu>], [<val_implicita>], [<x>], [<y>], [<fisier_help>, <context>])
unde:
 <mesaj>
1. Este linia ce va fi afișată în InputBox, fiind de tip caracter;
2. Poate avea cel mult 1024 de caractere;
3. Pentru a afișa pe mai multe rânduri tre buie adăugat la finalul rândului
caracterul CHR(13), adică ENTER.
 < titlu>
1. Conține titlul afiș at în bară.
 <val_implicita>
1. Conține valoarea implicită pe care o conț ine fereastra InputBox pentru
afișare.
 <x>
1. Reprezintă distanț a de la marginea de sus a ecranului până la fereastra
InputBox .

11
 <y>
1. Reprezintă distanț a de l a marginea de sus a ecranului până la fereastra
InputBox.
 <fisier_help>
 <context>

2.1.4 Variabile
2.1.4.1 Caracteristici Generale
Variabilele sunt locații de memorie atribuite ca nume ce conțin valori de un
anumit tip, care se pot modifica în timpul execuției aplicației.
Variabilele se caracterizeaza prin:
 Domeniu
1. Partea care exprimă când apar și dispar variabilele.
2. Ele apa r când sunt declarate, urmând să apară și să dispară î n funcție
de momentul folosiri lor în program.
3. Atunci când apar , ele sunt vizibil e în rest devin invizibile.
4. În momentul apariției li se pot atribui valori și pot fi folosite în
instrucț iunilor VBA .

 Durata de viata
1. Este momentul când ele apar în execuția programului și până la
momentu l în care acestea dispar.

Se poate declara o variabilă folosind structurile:
1. Dim <variabila> [(indici)] [As Tip_data ]
2. Static <variabila> [(indici)] [As Tip_data ]
3. Public <variabila> [(indici)] [As Tip_data ]
unde:

12
1. <variabila>: este numele pentr u variabilă ;
2. Tip_data: este un tip de date valabil în Access;
3. (indici): reprezintă limita inferioară și superioară dacă variabila este o matrice.

2.1.4.2 Clasificarea variabilelor
În funcț ie de gradul de vizibilitate (domeniu) variabilele pot fi:
1. Variabile locale:
a. Vizibile doar în cadrul procedurii în care este declarată :
i. Dim nume As String

2. Variabile de tip modul:
a. Vizibile doar în cadrul modulului în care au fost declarate;
b. Sunt declarate în sec țiunea Declarations cu ajutorul instrucț iunea Dim.

3. Variabile publice:
a. Vizibile pentru orice procedura d eclarată în aplicație ;
b. Sunt declarate în secț iunea Declarations cu ajutorul instrucț iunea Public .
Deci, domeniul de valabilitate al unei variabile VBA este determinat de două
elemente: locul în care declarati variabila în cadrul modulului și daca folositi pentru
declarare instructiunile Dim, Public sau Private.
În concluzie domeniul de viață al unei variabile in VBA este cauzat de două
elemente : locul de declarare al variabilei in cadrul modulului și declararea folosind
instrucțiunile Dim, Public sau Private . Se folosește instrucțiunea Public doar atunci
când este nevoie de acea variabilă pe toa tă durata programului, în toate modulele
bazei de date, altfel se evită.
Transmiterea unei variabile ca argu ment într -o subrutina sau functie reprezinta o
exceptie de la regulile de definire a domeniului de valabilitate. În general, atunci când
folositi ca argument un nume de variabila, în procedura apelata este transferata adresa
variabilei din memoria calculat orului. Aceasta metoda, denumita transfer prin referinta,
este caracterizata prin faptul ca orice schimbare a valorii variabilei în procedura apelata
modifica și valoarea din procedura apelanta, ceea ce înseamna ca variabila respectiva

13
devine vizibila pentru procedura apelata, iar limitele domeniului de valabilitate sunt
depasite (ignorate). Acest mod de comportare poate fi convenabil sau nu; pentru a
obliga programul Access sa transmite procedurii apelate valoarea unei variabile, și nu
adresa acesteia, folositi cuvântul cheie ByVal în declaratia procedurii apelate, ca în
programelul din capitolul anterior:1
Function Cost (ByVal id As Integer) As Currency

În functie de dinamismul variabilelor, acestea pot fi:
1. Variabile dinamice:
i. sunt acele variabile care îsi modifica continutul de la o executie la alta
a unei proceduri;
ii. acestea sunt variabilele locale;

2. Variabile statice:
i. acestea pot fi declarate numai în cadrul unei proceduri cu instructiunea
Static și se caracterizeaza prin fa ptul ca se memoreaza continutul lor
de la o executie la alta a procedurii respective.

În functie de continut, variabilele pot fi:
1. Variabile standard:
i. la care utilizatorul defineste numele și tipul variabilei;
ii. acestea se mai numesc și variabile simple;
iii. continutul unei variabile standard este o valoare (data) izolata: Dim v
Var As Long;

2. Variabile de tip structura:
i. Access permite utilizatorului sa -si creeze propriile tipuri de date;
ii. datele sunt grupate pentru a fi prelucrate global sau element cu
element;
iii. elementele unei multimi pot fi de acelasi tip (tablouri) sau nu;
iv. acest tip de variabila permite utilizatorului sa -si defineasca multimi de
elemente care nu sunt de acelasi tip;
v. aceste multimi se declara folosind cuvintele utilizator Type . End Typ e;

3. Variabile de tip tablou:
i. tabloul este o multime ordonata de date care contine elemente de
acelasi tip;
ii. o variabila tablou poate fi decrata publica, de tip modul sau locala;
iii. fiecare element al unui tablou este identificat printr -un index unic;
iv. variabilele tablou pot fi de două tipuri:

14
a. Statice;
b. Dinamice.

2.1.5 Constante
Acestea sunt nume de locatii de memorie care contin valori care nu se modifica
în timpul executiei aplicatiei. Constantele sunt de trei tipuri:
2.1.5.1. Constante definite de sistem:
1. True, False, Null – folosite în cadrul modulelor;
2. Yes, No, On, Off – folosite în toate obiectele bazei de date .

2.1.5.2 Constante interne
1. Folosite ca argumente în cadrul unor instructiuni (acForm, acMacro ).

2.1.5.3 Constante definite de utilizator :
Sunt declarate folosind comanda Const și pot fi definite atât în sectiunea de
declaratii, cât și în cadrul procedurilor.Ca orice variabile, constantele pot fi declarate la
nivel local, la nivel de modul sau la nivel public. Când se declara o constanta, nu este
obligatoriu sa se specifice tipul de data. VBA va alege tipul de data cel mai eficient
pentru acea constanta. Exemple:
1. Constanta locala:
Sub L()
Const Loca la = 0.2
End Sub

2. Constanta modul:
Option Compare Datebase
Option Explicit
Const Loca la = 0.2

3. Constanta publica:
Option Compare Datebase
Option Explicit

15
Public Const Loca la = 0.2

2.2 Microsoft Access
2.2.1 Scurt Istoric
Microsoft Access este un program pentru crearea și administrarea unei baze de
date relaționale, produs de Microsoft , care face parte din suita de programe Microsoft
Office. Conceptul original de Access a fost pentru utilizatorii finali să poată să
"acceseze" date din orice sursă. Alte caracteristici includ: importul și exportul de date
de mai multe formate, cum ar fi Excel, Outlook, ASCII, SQL Server, Oracle etc. De
asemenea, Access are și posibilitatea de a folosi baze de date externe, neînglobate,
în formatele: Microsoft Excel, Access stochează toate tabelele de baze de date,
interogări, formulare, rapoarte, macrocomenzi și module în baza de date Jet Access
ca un singur fișier. Microsoft Access utilizează atât formatul ACCDB, cât și MDB.
Un fișier MDE / ACCDE este o bază de date Micros oft Access fișier cu toate
modulele compilate și tot codul sursă editabil eliminat, care cuprinde toate
componentele: tabele, interogări, module, macrocomenzi, formulare și rapoarte.
Utilizatorii pot crea tabele, interogări, formulare și rapoarte și macroc omenzi Utilizatorii
avansați pot folosi Visual Basic pentru a scrie soluții bogate cu avansate de manipulare
a datelor și de control al utilizatorului. Există șabloane pentru baze de date, atât în
cadrul programului cât și pe site -ul oficial. Acestea permi t utilizatorilor să construiască
o baz ă de date cu tabele, interogări , formulare, rapoarte și macrocomenzi predefinite.
Șabloanele nu includ cod Visual Basic. De asemenea, are și modul de lucru în
multiutilizator în rețea.

2.2.2. Componentele unei baze de date Access
2.2.2.1 Tabele
Tipuri de date
Datele din tabele pot fi de urmatoarele tipuri:
1. TEXT
i. Secvență simplă de caractere care poate include cifre, litere și simboluri.
ii. Un câmp text poate conține până la 255 de caractere.
2. MEMO

16
i. Text simplu, obișnuit, exceptând faptul că nu stabilești o lungime maximă
de câmp, așa că poți tasta aproape orice cantitate de text (64.000 de
caractere).
3. NUMB ER
i. Destinat pentru valori întregi sau fracționare.
4. DATE/TIME
i. O dată calendaristică sau o oră.
5. CURRENCY
i. Un număr formata t ca o valoare monetară.
6. AUTONUMBER
i. Access îl completează automat cu numere consecutive, pentru fiecare
înregistrare.
7. YES/NO
i. Poate primi valori logice de tipul YES/NO, TRUE/FALSE sau ON/OFF.
8. OLE OBJECT
i. Câmp capabil a primi ca va loare un obiect (ex. imagine);
ii. Obiectul poate fi legat sau inserat.
9. HYPERLINK
i. O legătură la o locație Web.
10. LOOKUP WIZARD
i. Îți permite să creezi o listă selectând o valoare din alt tabel sau lista de
valori într -o casetă combinată, pentru fiecare înregistra re.
ii. Este o caracteristică avansată.

Stabilirea cheii principale
Fiecare tabel ar trebui să aibă cel puțin un câmp a cărui valoare este unică pentru
fiecare înregistrare (câmp cheie principală). Acest câmp este util pentru a identifica în
mod unic fiecare înregistrare. Pentru a stabili o cheie principală trebuie să parcurgi
următorii pași:
1. Deschide tabelul afișând structura acestuia.
2. Selectează câmpul care vrei să fie cheie principală.
3. Alege din meniul EDIT opțiunea PRIMARY KEY .

Relațiile dintre tabele
Relația între două tabele nu este obligatorie, dar este necesară, în general,
pentru construirea interogărilor care acționează asupra acestor table (deși relația s -ar
putea construi și când se construiește interogarea). Tipuri de relații:
Relația O ne-To-Many – Este cea mai frecventă în proiectarea bazelor de date
ACCESS și are următoarele caracteristici:
Dacă T1 (Tabela CLIENTI ) și T2 (Tabela OPERATII ) sunt două tabele în care
există o relație One -To-Many atunci: Tabela T1 este tabela primară iar T2 este tabela
legată. Cheia de legătură din tabela primară trebuie să fie declarată cheie primară.
Tabela legătură poate avea cheie primară dar diferită de c ea de legătură. Fiecărei
înregistrări din tabela One îi corespunde 0, 1 sau mai multe înregistrări din tabela

17
Many; Fiecărei înregistrări din tabela Many îi corespunde cel mult o înregistrare din
tabela One.

Relația One -To-One – Este utilizată mai rar în proiectarea bazelor de date
ACCESS și are următoarele caracteristici:
Cheile de legătură din ambele tabele sunt chei primare; fiecărei înregistrări din
una din tabele îi corespunde cel mult o înregistrare din cealaltă. Una din tabele este
primară iar ceala ltă legată.

 Relația Many -To-Many – Este nerecomandată în baze de date ACCESS dar
existentă în realitate.
Doua tabele se află în relația Many -to-Many dacă fiecărei înregistrări din prima
tabelă îi corespunde 0,1 sau mai multe înregistrări din a două și invers. În ACCESS
astfel de relații pot fi introduse prin crearea unei a treia tabele, numită de legătura (de
joncțiune) cu existența a două relații de tip One -to-Many.

18
2.2.2.2 Interogări
Pentru dezvoltarea de interogări, Access oferă un "Designer de int erogare", o
interfață grafică de utilizator, care permite utilizatorilor de a construi interogări fără
cunoașterea limbajului de programare SQL. În Query Designer, utilizatorii se pot
"arăta" sursele de date de interogare (care poate fi tabele sau interogă ri) și selecta
câmpurile pe care le doresc, printr -un simplu clic de mouse. Unul dintre beneficiile
Acces din perspectiva unui programator este com patibilitatea relativă cu SQL
(Structurat Query Language ) – interogări pot fi vizualizate grafic sau editat ca declarații
SQL, iar declarațiile SQL pot fi folosite direct în Macrocomenzi și Visual Basic pentru
a manipula tabele Access.
Interogările în Access pot fi de următoarele tipuri:
O interogare de selecție este o interogare SQL care are ca efect numai
afișarea datelor dintr -un tabel sau mai multe tabele conform unor criterii de selecție
(comanda SQL SELECT fără INTO sau comanda din meniu echivalentă).
O interogare de actualizare se folosește pentru actualizarea tabelei prin
comanda SQL UPDATE (sau coman da din meniu echivalentă).
O interogare de tip tabel încrucișat aranjează un set de înregistrări pentru
a-l face mai simplu de vizualizat, utilizând atât anteturi de rând cât și anteturi de
coloane. Datele pot fi văzute în același timp în raport cu două ca tegorii. De exemplu,
salariul mediu al fiecărui departament din toată baza angajaților:
TRANDORM Avg(TOTAL.SALARIU) as AvgOfSalariu
SELECT TOTAL.APARTINE, TOTAL.NUMEDEP, Avg(TOTAL.SALARIU) AS [AVG
OF SALARIU]
FROM TOTAL
GROUP BY TOTAL.APARTINE, TOTAL.NUMEDEP
PIVOT TOTAL.SALARIU
TRANDORM Avg(TOTAL.SALARIU) as AvgOfSalariu

O interogare de acțiune creează un nou tabel sau modifică un tabel existent
adăugând date în el, ștergând date din el sau actualizându -l. Deoarece o interogare
de acțiune este atât de puternică încât modifică efectiv datele tabelelor, este
recomandat să faceți o copie de rezervă a datelor înainte de a executa o interogare
de acțiune. De exemplu, crearea unei tabele de joncțiune internă între toate
câmpurile angajaților și departamentelor lor:
SELECT
DEP.CODD, DEP.NUMEDEP, DEP.ADRDEP, DEP.TELDEP, DEP.EMAILD,
DEP.PERSCONTACT, DEP.APARTINE, ANGAJAT.NUME, ANGAJAT.ITATA,
ANGAJAT.PRENUME, ANGAJAT.ADRESA, ANGAJAT.TELEFON, ANGAJAT.BULETIN,
ANGAJAT.CNP, ANGAJAT.FUNCTIA, ANGAJAT.LOCNAST, ANGAJAT.JUDNAST,
ANGAJAT.TARANAST, ANGAJAT.SALARIU
INTO TOTAL
FROM ANGAJAT INNER JOIN DEP ON ANGAJAT.CODD = DEP.CODD;
Microsoft Access oferă în plus față de SQL, interogările cu parametri .

19
O interogare cu parametri afișează o casetă de d ialog atunci când se execută, solicitând
utilizatorului să introducă informații care se vor utiliza drept criterii pentru interogare. De exemplu,
selectarea datelor personalului care lucrează la un anumit departament, unde numele
departamentului este dat d e la tastatură:
SELECT NUME & " " & ITATA & " " & PRENUME AS NUME_PRENUME,
ANGAJAT.DATANAST, ANGAJAT.SALARIU, DEP.NUMEDEP
FROM ANGAJAT INNER JOIN DEP ON ANGAJAT.CODD = DEP.CODD
WHERE (((DEP.NUMEDEP)=[DATI NUMELE DEPARTAMENTULUI]));

20
BIBLIOGRAFIE

1. Limbaje VBA
Informatica http://www.scritub.com/stiinta/informatica/access/CREAREA -SI-
PROIECTAREA -FORMULA81127.php
2. Microsoft Access https://ro.wikipedia.org/wiki/Microsoft_Access#Istoric
3.

Similar Posts