Mediul de programare Microsoft ACCESS [602440]

Capitolul III
Mediul de programare Microsoft ACCESS

3.1. Prezentare generală
3.1.1 Sistemul de gestiune a baze lor de date Microsoft Access

Sistemul de gestiune a bazelor de date (SGBD) Microsoft Access
face parte din pachetul de aplica ții Microsoft Office exploatabil sub
sistemele de operare Windows 2000 (service pack 3) și Windows XP.
Microsoft Access deț ine toate caracteristicile specifice unui
sistem de gestiune a bazelor de date rela ționale; puternic, flexibil și ușor
de folosit, el reprezint ă totodată și un instrument complex de dezvoltare a
aplicațiilor de baze de date.
Microsoft Access include avantaje le oferite de sistemul de
operare Microsoft Windows; în plus, permite și facilități de tipul drag
and drop. De asemenea, Microsoft Access este deplin compatibil cu
tehnicile de legare și încapsulare din tehnologia OLE a firmei Microsoft.
Caracteristicile definitorii ale sistemului de gestiune a bazelor
de date Microsoft Access se pot sintetiza în urm ătoarele:
1. Posibilitatea cre ării unei baze de date care s ă poată fi utilizată
de către un utilizator sau mai mul ți utilizatori în mod partajat;
2. Interogarea bazei de date se poa te realiza în mod grafic prin
interfața QBE (Query By Example), sau prin limbajul SQL
(Standard Query Language);
3. Automatizarea unor activit ăți/acțiuni prin programare în
limbajul VBA sau prin macrocomenzi;
4. Realizarea importului/e xportului de date c ătre alte aplica ții ale
pachetului Microsoft Office sau alte SGBD-uri rela ționale;
5. Interfața utilizator GUI (Graphical User Interface) este u șor
de folosit și respectă principiile de uti lizare caracteristice
tuturor aplica țiilor pachetului MS Office, ceea ce face ca
utilizatorul s ă regăsească un mediu de lucru familiar la care s ă
se adapteze cu u șurință;

6. Fundamentarea pe concepte noi, cum sunt conceptele de
obiect, propriet ăți ale obiectelor, eveniment, procedur ă
declanșată la apariția unui eveniment, metode la care obiectele
reacționează în momentul producerii unui eveniment,
programare orientat ă pe obiecte și evenimente;
7. Asistență în dezvoltarea de aplica ții și utilizarea bazei de date;
8. Existența meniului Help și a facilităților de ajutor contextual;
9. Înglobarea de componente Wizard pentru a ajuta utilizatorii în
dezvoltarea de aplica ții;
10. Tabelele din baza de date pot prelucra sute de mii de
înregistră ri.
3.1.2. Aplicaț ii
Microsoft Access este un instrume nt puternic pentru dezvoltarea
și gestionarea bazelor de date rela ționale de capacitate mic ă/medie. Sub
aspectul performan țelor în funcț ionare, acestea scad o dat ă cu creșterea
volumului bazei de date; astfel, când num ărul înregistr ărilor depășește
ordinul sutelor de mii, viteza de lu cru este sub nivelul celei oferite de
sistemele de gestiune a bazelor de date Oracle, Microsoft SQL Server sau
Informix .
Totodată, Microsoft Access îndepline ște cele mai multe dintre
cerințele sistemelor de baze de date de tip client/server, fiind și un
instrument foarte bun pentru dezvoltarea de aplica ții front-end.
În ciuda complexităț ii sale, este un sistem u șor de utilizat chiar și
de cei care nu sunt programatori, f iind echipat cu numeroase programe
Wizard, aplica ții auxiliare ce controleaz ă multe dintre opera țiile uzuale
ale activit ăților de creare și editare ale tabelelor, interog ărilor,
formularelor și rapoartelor.
Microsoft Access are o structur ă de bază de date capabil ă să
combine într-un singur fi șier de tip .mdb toate obiectele cu care lucreaz ă:
tabelele, interog ările, formularele, rapoartele, comenzile macro și codul
Visual Basic. Proiectarea aplica țiilor Microsoft Access utilizeaz ă fișiere
.mdb separate pentru p ăstrarea informa țiilor, realizându-se împ ărțirea
unei aplica ții în două părți:
1. front-end , ce cuprinde elementele de interfa ță cu utilizatorul;
2. back-end , ce cuprinde tabele le bazei de date.

Această tehnică este foarte util ă atunci când pentru componenta
back-end a unei baze de date, se apeleaz ă la un server puternic de baze de
date ce pune la dispozi ție toate facilit ățile unei baze de date rela ționale
mari, în timp ce pentru componenta front-end, Microsoft Access pune la
dispoziția utilizatorilor numeroase facilităț i precum formularele,
rapoartele și interogă rile.
Unul din principalele avantaje din perspectiva client/server îl
constituie cre șterea vitezei de lucru și minimizarea traficului de re țea,
garantând că atât clientul cât și serverul lucreaz ă la parametri optimi.
3.1.3. Func ții de bază și funcț ii suport
În ceea ce prive ște funcțiile de baz ă ale Microsoft Access 2003.
acestea sunt prezentate în continuare.
Organizarea datelor include crearea și manevrarea tabelelor ce
cu-prind date în format tabelar.
Legarea tabelelor și extragerea datelor leagă mai multe tabele
prin intermediul leg ăturilor dintre date, creând tabele temporare. Pentru
crearea acestor leg ături, Microsoft Access folose ște interog ări prin in-
termediul c ărora datele alese vor fi st ocate într-un tabel temporar
(recordset ). Capacitatea de a lega tabele prin rela ții este una dintre
deosebirile esen țiale dintre bazele de date rela ționale și aplicațiile de
gestiune a fi șierelor.
Introducerea și editarea datelor presupune proiectarea și
implementarea modului de vizualizar e a datelor, a formularelor de
introducere și de editare, ca posibilitate de prezentare a datelor în afar ă de
cea sub form ă tabelară . Majoritatea utilizatorilor prefer ă formularele
pentru introducerea datelor, mai ales când sunt implicate date din mai
multe tabele.
Prezentarea datelor implică existen ța rapoartelor prin
intermediul c ărora se pot centraliza informa țiile necesare tip ăririi.
Funcțiile suport aplicabile func țiilor de baz ă din Microsoft
Access 2003 sunt descrise în continuare.
Macrocomenzile constituite din secven țe de acțiuni ce automati-
zează operațiile repetitive din cadrul unei baze de date;
Modulele sunt func ții și proceduri scrise în Visual Basic, pentru
executarea unor opera ții ce depășesc macroinstruc țiunile standard;

Securitatea este determinat ă din func țiile disponibile ca op țiuni
ale meniurilor, fiind esen țiale într-un mediu multiuser; ele permit
acordarea de drepturi de citire/s criere unui grup de utilizatori;
Tipărirea permite imprimarea a aproape orice este afi șat în modul
de lucru al Microsoft Access.
3.1.4. Caracteristici ale Microsoft Access 2003
Principalele caracteristici ale Mi crosoft Access 2003 sunt descrise
în continuare.
Fereastra Database are acela și aspect ca și celelalte aplica ții
Microsoft Office, sem ănând foarte bine cu fereastra aplica ției Microsoft
Outlook. Etichetele care se aflau în pa rtea de sus a ferestrei în vechile
versiuni au fost înlocuite prin bara de obiecte Database situată în stânga.
Obiectul Pages reprezintă un document HTML care poate fi vizualizat în
Internet Explorer 6.0. Majo ritatea comenzilo r sunt disponibile direct în
bara de obiecte a ferestrei Database . De asemenea, fereastra Database
conține în partea superioar ă o bară de meniu. Cele patru pictograme
situate în dreapta barei de meniu nu reprezint ă o noutate în Microsoft
Access, doar c ă în versiunile mai vechi ele nu ap ăreau în fereastra
Database , aflându-se în bara de obiecte.
Caseta de dialog File are o nou ă înfățișare, dar majoritatea ele-
mentelor au ap ărut și în versiunile anterioare.
În ceea ce prive ște bara de instrumente din partea stâng ă;
folderul implicit este My Documents iar butonul Recent permite
parcurgerea în ordine invers ă, pas cu pas, a ultimelor opera ții executate în
caseta de dialog. Butonul Tools este un meniu derulant care con ține
comenzile: Search, Delete, Rename, Add to „My Places”, Map Network
Drive și Properties. Butonul Open ce oferă mai multe op țiuni: Open,
Open Read-Only, Open Exclusive și Open Exclusive Read-Only .
Unul dintre cele mai utile elemente este meniul Clipboard , care
este disponibil din Microsof t Access, Excel, Word, Outlook și
PowerPoint. În Clipboard se pot memora tempor ar mai multe articole,
pentru a fi apelate ulterior.
Actualizarea automat ă a referin țelor la schimbarea unui
obiect. În versiunile anterioare, pentru redenumirea unui obiect trebuia

găsită și reactualizat ă fiecare referire la obiectul respectiv; dac ă nu se
făcea aceast ă reactualizare, ar fi interven it o eroare la un moment dat.
Subtabelele de date ( subdatasheets ) creează o ierarhie de
afișare a datelor în modul de afi șare Datasheet . În Microsoft Access
2003 se poate vizualiza un set de da te corelat prin intermediul unui
subtabel de date. Dac ă există înregistr ări legate de cea curentă , la
marginea din stânga a tabelului de date se afiș ează o coloan ă
suplimentar ă; dacă acea coloan ă conține semnul +, înseamn ă că
înregistrarea are articole corelate.
Pentru vizualizarea rela țiilor dintre obiecte se poate utiliza
instrumentul de tip Wizard numit Print Relationships .
În Microsoft Access 2003, facilităț ile oferite pentru lucrul cu
baze de date pe Internet/Intranet sunt îmbun ătățite vizibil fa ță de
versiunile anterioare. Astfel, pe lâng ă crearea de câmpuri hyperlink,
exportul obiectelor bazei de date ca documente HTML , utilizatorul poate
să-și realizeze o pagin ă Web care să-i permită efectuarea opera țiilor de
adăugare, modificare și ștergere în cadrul unei baze de date. Se pot
realiza dou ă tipuri de pagini Web:
pagini cu recordset de tip Snapshot, care nu permit efectuarea
de operații de actualizare asupra setului de înregistr ări; •
• pagini cu recordset de tip UpdatableSnapshot , care permit e-
fectuarea de opera ții de actualizare asupra setului de înregis-
trări.
Compactarea automat ă a bazelor de date . Microsoft Access
2003 permite compactarea bazelor de date în momentul închiderii,
fișierul fiind compactat ori de câte ori va fi închis.
Arhivarea bazelor de date sau a proiectelor. Bazele de date sau
proiectele pot fi arhivate înainte de a fi modificate, în felul acesta
asigurându-se copii de siguran ță ce pot fi utilizate în cazul în care se
doreș te revenirea la una dintre versiunile anterioare.
Proiectul Microsoft Access (Microsoft Access Project ) – figura
3.1. este o caracteristic ă ce are la baz ă utilizarea unei componente front-
end conectat ă la un server , care folose ște date dintr-o baz ă de date back-
end. Un proiect Microsoft Access poate utiliza pentru stocarea datelor
componenta MSDE (Microsoft Data Engine ), sau o baz ă de date
Microsoft SQL Server 5. 5, 7.0 sau 2000 (MSDE permite stocarea datelor
într-un mod compatibil cu Micros oft SQL Server 7.0., dar are o limit ă de

2GB pentru dimensiunea bazei de date și nu oferă suport pentru toate
funcțiile SQL Server).
Indiferent de componenta back-end utilizat ă, proiectele Microsoft
Access, spre deosebire de fi șierele .mdb, sunt construite ca aplica ții de tip
client/server. Baza de date back-end con ține toate componentele bazei de
date: tabele, proceduri și corelaț ii etc. Componenta front-end con ține
toate macrocomenzile, modulele și obiectele de interfață cu utilizatorul
(formulare și rapoarte).
Deși un fișier .mdb poate fi legat la tabelele g ăzduite de Microsoft
SQL Server prin intermediul tabelelor legate, o astfel de conexiune este
furnizată și de Jet Database Engine . În acest mediu, func ționalitatea și
interfața vizuală cu obiectele back-end sunt însă limitate, Jet Database
Engine nepermiț ând o vizualizare a procedurile stocate de pe server.

Figura 3.1. Proiectul Microsoft Access ( Microsoft Access Project )

Proiectele Micros oft Access furnizeaz ă un mediu mai natural de
dezvoltare și utilizare a aplica țiilor de tip client/server, ele permi țând
operarea direct ă asupra procedurilor localiz ate pe serverul back-end, și

chiar stabilirea corela țiilor în cadrul bazei de date pe server. La versiunile
anterioare, programatorul trebuia s ă iasă temporar din Microsoft Access
și să invoce un utilitar sau un serviciu oferit de un program de tip server.
Cea mai evident ă diferență dintre un proiect Microsoft Access
(.adp) și o bază de date Microsoft Access (. mdb) poate fi v ăzută în fe-
reastra Database în care la un proiect apar trei entit ăți (Views, Database
Diagrams și Stored Procedures ) care nu apar în fereastra unei baze de
date Microsoft Access obi șnuite, iar entitatea Queries lipse ște.
O altă diferență de o bază de date standard este c ă într-un proiect
nu există nici o op țiune de legare la date externe, ci doar o op țiune de
import date care la rândul ei este și ea diferit ă, deoarece nu realizeaz ă
importul în proiectul propriu-zis (în fi șierul .adp), ci în baza de date
back-end la care acesta este conectat.
Opțiunile de securitate sunt complet diferite de cele existente
într-o baz ă de date standard. Regulile și sintaxa necesare pentru obiectele
back-end sunt definite de sursa de date gazd ă (Microsoft SQL Server) ș i
nu de către Microsoft Access sau de Jet Database Engine.
3.1.5. Obiecte Microsoft Access
Obiectele principale și legăturile stabilite în sistemul de gestiune
al bazelor de date Microsoft Access sunt redate în figura 3.2.
Pentru a interac ționa cu datele, Microsoft Access se folose ște de
obiecte. Aproape toate elementele din Microsoft Access, cu excep ția da-
telor, sunt obiecte. Chiar și aplicația este considerat ă un obiect (obiectul
Application) care face parte dintr-o structură de nivel înalt: Microsoft
Access Object Model. Obiectele apar ținând acestei structuri permit mo-
dificarea și manipularea direct ă a datelor prin interm ediul unor obiecte de
date folosind în acest scop Visual Basic, f ără a interac ționa de fapt cu
obiectele de date.
Obiectul Application con ține toate obiectele Microsoft Access na-
tive (controale, formulare, rapoarte și module) cu care interacț ionează în
cadrul sesiunilor de lucru. Obiecte native (native objects) sunt acele o-
biecte care exist ă în cadrul unei aplica ții gazdă; ele aparțin unor structuri
de nivel înalt numite colec ții. O colec ție (collection) este un obiect care
conține elemente de acela și tip.

A
Funcții modulare
sau subrutine
Comenzi macro
Rapoarte
Interogări Formulare A
TabeleDeschide/
Filtreazǎ Tipărește/
Vizualizeaz ă
Filtrează Execută (funcț ii)
A execut ă interogări sau deschide tabele
acț iune
fluxul de date
Figura 3.2. Principale obiecte și legături din Microsoft Access

Ierarhia Application con ține următoarele obiecte: colec ția Forms ,
colecția Reports , colecția Modules, colec ția DataMicrosoft AccessPages ,
obiectul Screen , obiectul DoCmd , obiectul Err, obiectul Debug și
obiectul Application .
3.2. Tabele

3.2.1. Tabele în Microsoft Access 2003
Datele ce fac obiectul prelucr ării (datele de intrare) vor fi memorate
într-o baz ă de date; elementele fundamentale ce creeaz ă o bază de date
relațională sunt tabelele. Este esen țial ca fiecare tabel al bazei de date s ă
conțină informații specifice unui singur tip de obiecte.
Un tabel reprezint ă o colecție de date legate între ele, memorat ă pe
linii și coloane; fiecare linie con ține o înregistrare-entitate complet ă de

date referitoare la un anumit tip de obiecte. La rândul ei, fiecare înregis-
trare este compus ă din coloane sau câmpuri–un câmp reprezentând cea
mai mică entitate de date. Un exemplu de tabel denumit FACTURI creat
în Microsoft Access 2003 este redat în figura 3.3.
Fiecare câmp trebuie s ă fie legat, într-un fel, de destina ția tabelului
din care face parte. Interac țiunea cu tabelele se face rareori direct; în
acest scop, tabelelor le sunt asociate alte obiecte Microsoft Access – inte-
rogări, formulare și rapoarte. Atunci când programul trebuie s ă afișeze
sau să refere datele memorate în baza de date, un formular sau un raport
va regăsi datele din tabelul sau interogarea la care este asociat și le va
afișa în format de formular sau de raport.
O bază de date Microsoft Access poate cuprinde cel mult 32.768 de
tabele, dintre care 254 pot fi deschise simultan, dac ă există suficiente
resurse disponibile.
Majoritatea tabelelor unei baze de date au unul sau mai multe
câmpuri ce identific ă în mod unic fiecare înregi strare din acel tabel.

Figura 3.3. Tabelul FACTURI

Acest tip de identificare unic poart ă numele de cheie primar ă și
este folosit la indexarea tabelului respectiv. Cheile primare stabilesc rela-
țiile prin care mai multe tabele ale unei baze de date sunt legate la crearea
unei interog ări.
În proiectarea și realizarea bazelor de date rela ționale, normali-
zarea este o etap ă de optimizare care are ca scop garantarea coeren ței
bazei de date în timpul opera țiilor de includere, modificare și suprimare
de date, având ca rezultat un model ce respect ă criteriile de definire se-
mantică și integritatea datelor. Normalizarea tabelelor implic ă, de fapt,
aplicarea unui set de reguli la proiectarea tabelelor unei baze de date care oferă câteva avantaje majore:
• elimină informa țiile redundante, ceea ce reduce
probabilitatea multiplic ării erorilor de introducere care s ă
corupă baza de date, simplificând în acela și timp și
întreținerea acesteia prin faptul c ă o valoare este p ăstrată
într-un singur loc, deci modifică rile asupra ei se pot efectua
o singură dată;
• reduce m ărimea bazei de date deoarece fiecare tip de
informație este păstrat într-o unic ă locație, deci baza de date
nu va fi înc ǎrcată cu copii ale aceleia și date aflate în mai
multe tabele;
• facilitează căutările;
• simplifică interogările .
Există cinci forme de normalizare, di ntre care primele trei sunt
cele mai utilizate:
• prima form ă normal ă presupune c ă fiecare câmp dintr-un
tabel conține un singur tip de date, deci fiecare rând con ține
un articol indivizibil și care nu se repet ă. Tabelele ce
respectă această formă sunt ușor de organizat pe criterii
logice, fiindu-le stabilite chei primare;
• a doua form ă normal ă specifică și necesitatea dependen ței
între cheia primară și celelalte coloane ale tabelului. Pentru a
respecta a doua form ă normală trebuie îndeplinit ă prima
formă normală, la care se adaug ă și necesitatea ca oricare
câmp din tabel ce nu este cheie primar ă să fie dependent de
aceasta;

• a treia form ă normală obligă la independen ța între coloanele ce
nu constituie chei primare, simultan cu dependen ța lor de
respectivul câmp.
Ceea ce diferen țiază o bază de date rela țională de alte aplica ții de
gestiune este capacitatea acesteia de a lega dou ă sau mai multe tabele
astfel încât ele s ă apară în faț a utilizatorului ca o singur ă tabelă . În acest
context sunt foarte importante rela țiile ce se stabilesc între tabelele unei
baze de date:
1. relațiile de tip unu-la-unu sunt cele mai simple și mai rar
folosite, obligând la respectarea urm ătoarei reguli: fiecare
înregistrare dintr-un tabel core spunde unei singure înregistr ări
din alt tabel. Astfel de rela ții se folosesc pentru a diviza
tabelele mari, în dou ă sau mai multe tabele de dimensiuni mai
mici, ceea ce va oferi urm ătoarele avantaje:
reducerea timpului de c ăutare a anumitor date prin
separarea informa țiilor ce au o frecven ță mai redus ă de
folosire. •

• îmbunătățirea timpului de r ăspuns la actualiz area datelor în
tabele de că tre mai mul ți utilizatori.
creșterea securităț ii și a controlului aplica ției prin separarea
într-un alt tabel a unor informa ții cu caracter confiden țial.
2. relațiile de tip unu-la-mai mul ți sunt cele mai frecvente tipuri,
realizând leg ătura între un rând dintr-un tabel și două sau mai
multe rânduri din alt tabel. Leg ătura se realizeaz ă prin cheia
primară a tabelului de baz ă și cheile corespunz ătoare tabelelor
asociate. Opusul acestei rela ții este cea de tipul mai mulț i-la-
unul. În Microsoft Access 2003 toate rela țiile mai mulț i-la-unu
sunt reflexive, astfel c ă specificarea o singur ă dată a unuia
dintre sensuri va asigura func ționalitatea rela ției și în celălalt
sens;
3. relații de tipul mai mulți-la-mai mul ți există numai în mod
indirect, fiind create pe baza a dou ă relații unul-la-mai mul ți,
constituindu-se ca asocieri libere între tabele.
Indiferent de tipul de rela ții existent între dou ă/mai multe tabele
este esențial ca cele dou ă câmpuri participante la aceasta s ă aibă exact
același tip de date.

Dintre caracteristicile Microsoft Access 2003 în domeniul
relațiilor dintre tabele putem aminti:
vizualizarea datelor legate într-un subtabel . Prin
intermediul unui subtabel, la selectarea unui câmp dintr-un
tabel legat de unul sau ma i multe tabele, sunt afi șate toate
informațiile din cadrul tabelelor corespondente (figura
3.4.). •

Figura 3.4. Vizualizarea datelor din dou ă tabele legate

tipărirea relațiilor existente între tabele, a șa cum apar ele pe
ecran. •
• utilizarea tastaturii în crearea sau editarea rela țiilor între tabele.
Integritatea bazei de date este constituit ă din integritatea entit ății
și din cea referen țială; integritatea entit ății impune ca toate cheile primare
să fie unice în cadrul unui tabel, iar integritatea referen țială impune ca
toate cheile externe s ă aibă valori corespondente în cheia primar ă
dintr-un tabel principal, împiedicând apari ția „înregistr ărilor orfane”.
Regula impus ă de păstrarea integrit ății referențiale nu permite efectuarea
unor opera ții precum:
• adăugarea unei înregistr ări în partea mai mulț i a unei rela ții
unu la mul ți, fără să existe o înregistrare corespondent ă și în
partea unu;

• ștergerea unei înregistră ri în partea unu a unei rela ții unu la
mulți fără să fie ș terse toate înregistr ările corespondente din
partea mai mulț i;
• schimbarea valorii câmpului de cheie primar ă dintr-un tabel
de bază de care depind înregistr ări din tabele corelate;
• înlocuirea valorii câmpului cheie extern ă într-un tabel de
relații, cu o valoare care nu exist ă într-un tabel principal;
• adăugarea sau ștergerea unei înregistr ări într-un tabel aflat în
relație unu la unu cu un alt tabel, f ără realizarea aceleiaș i
operații și asupra tabelului corespondent.
Păstrarea integrit ății referenț iale implic ă de cele mai multe ori și
actualizarea, respectiv ștergerea în cascad ă a înregistră rilor asociate atunci
când tabelul principal este modificat, ac țiuni pe care Microsoft Access
2003 le poate executa automat dac ă în momentul realiz ării relațiilor între
tabele se selecteaz ă și aceste op țiuni (figura 3.5.).

3.2.2. Crearea tabelelor

Există patru modalit ăți de creare a tabelelor puse la dispozi ție de
către sistemul de gestiune a baze lor de date Microsoft Access 2003:
1. automat ( Table Wizard );
2. manual ( Table Design );
3. prin program ( ActiveX Data Objects, Data Microsoft Access
Objects );
4. prin înscrierea direct ă a datelor.
Pentru exemplificare vom considera o baz ă de date destinat ă
evidenței centralizate a angaja ților unei companii care î și desfășoară
activitatea prin intermediul mai multor puncte de lucru. Înainte de
realizarea efectiv ă a bazei de date cu ajutorul produsului Microsoft
Access 2003, aceasta trebuie proiectat ă la nivel conceptual. Pentru acest
lucru vom utiliza modelul EAR (Enritate-Atribut-Rela ție). În
conformitate cu acest model, proi ectarea unei baze de date presupune
parcurgerea urm ătorilor pași:
se identific ă entitățile bazei de date, care, în cazul nostru, sunt
angajații companiei și punctele de lucru în care aceș tia îș i
desfășoară activitatea; •

se identifică asocierile dintre entit ăți, unde prin asociere se
înțelege o leg ătură între dou ă entități bazată pe un atribut al
acestora. Stabilirea asocierilor este o opera ție relativ intuitiv ă
care, în cazul bazelor de date mari, este organizat ă pe baza
unor metodologii. În cazul nostru, rela ția de asociere se va
baza pe atributul IdPunctLucru ce este comun celor dou ă
entități. Un angajat nu îș i poate desf ășura activitatea în mai
mult de un punct de lucru la un moment dat; •
• se identific ă atributele entit ăților în func ție de specificul
utilizării bazei de date. Astfel, entitatea Angajati va avea
atributele IdAngajat , Nume , Prenume , DataNastere , Adresa ,
Telefon , NumarCopii , DataAngajare , IdPunctLucru . Pentru
entitatea PuncteLucru vom utiliza urm ătoarele atribute:
IdPunctLucru , Denumire , Adresa , Telefon , E-mail ,
Comentarii.
Baza de date astfel ob ținută se află în forma normal ă 3 și este
compusă din cele dou ă tabele legate printr-un câmp cheie. Pentru
simplificarea codific ării datelor vom apela la facilitatea Microsoft Access
2003 de a construi automat un identi ficator de înregistrare pentru
identificarea unic ă a acestora. Leg ătura dintre cele dou ă tabele o vom
desemna cu ajutorul op țiunii Relationships (meniul Tools sau cel
contextual). Ad ăugăm cele dou ă tabele, execut ăm clic de mouse pe
câmpul IdPunctLucru din tabela Angajaț i după care, men ținând butonul
stâng apăsat, deplas ăm mouse-ul pe câmpul corespunză tor din tabela
PuncteLucru , eliberăm butonul și apăsăm butonul Create .
Crearea tabelelor utilizând Table Wizard este simplificat ă de
Microsoft Access 2003, oferind o bogată colecție de proiecte de tabele
orientate pe afaceri și pe probleme personale, prin programul de tip
„vrăjitor” Table Wizard

Figura 3.5. Caseta de dialog Relationships pentru o leg ătură unu la mul ți
Dup ă selectarea op țiunii de creare a unui tabel cu ajutorul Table
Wizard (figura 3.6.) și trecerea prin pa șii afiș ați, va rezulta un tabel al
cărui conținut nu este populat cu date de intrare. De asemenea, Table
Wizard sugereaz ă relațiile care ar trebui realizate între tabelele create și
tabelele existente deja în baza de date (exist ă și opțiunea de creare a re-
lațiilor sugerate).
Deși este un program complex și facil de utilizat, Table Wizard
are anumite limite, neoferind programatorilor experimenta ți toate op țiu-
nile dorite. În acest caz ei vor apela la crearea tabelelor manual sau prin
scrierea de cod surs ă.
Crearea tabelelor utilizând Table Design reprezint ă crearea
manuală a tabelelor. Prin selectarea acestei op țiuni se afi șează numele
câmpurilor și tipul datelor con ținute, asigurând și o coloan ă pentru
descrierea op țională a câmpurilor tabelului.
Existen ța panoului Field Properties este foarte importantă deoare-
ce permite stabilirea de propriet ăți suplimentare pentru anumite câmpuri
(figura 3.7.)

Figura 3.6. Ecranul ini țial Table Wizard

Figura 3.7. Ecranul Table Design
Pentru ca un tabel creat în acest mod s ă fie perfect func țional,
proiectarea lui va parcurge urm ătoarele etape:

• Determinarea informa țiilor care vor fi con ținute în tabel. În
funcție de scopul pentru care este proiectat tabelul respectiv,
el se va popula cu datele corespunz ătoare;
• Alocarea informa țiilor în câmpuri. Fiecă rui tip de informa ții
stabilit în etapa anterioar ă îi va corespunde un anumit tip de
date care determin ă tipul câmpului. Microsoft Access 2003
pune la dispozi ția utilizatorului urm ătoarele op țiuni pentru
tipul de date cu care se va înc ărca fiecare câmp:
1. AutoNumber nu poate fi modificat manual, fiind de pre-
ferat a se folosi drept cheie primar ă a unui tabel. De și
este incrementat secven țial în mod implicit, se poate
stabili și o incrementare aleatoare;
2. Text este destinat informa ției de tip șir de caractere (ma-
xim 255 caractere);
3. Lookup permite stocarea unei valori, dar afi șează textul
ce însoțește valoarea respectiv ă. Acest tip de câmp poa-
te fi legat de fapt de un alt tabel sau interogare, de unde
își extrage informa țiile pe care le afi șează sub forma
unui combo box ;
4. Number are mai multe subtipuri, determinate de pro-
prietatea field size:
◦ Byte cu interval valoric între 0 și 255;
◦ Integer cu interval va loric între–32.768 și 32.767;
◦ Long Integer cu interval valoric între –
2.147.483.648 ș i 2.147.483.647;
◦ Single cu interval valoric între–3,4*1038 și 3,4*1038;
◦ Double cu interval valoric între–1,797*10308 și
1,797*10308;
◦ Decimal cu interval valoric între –
22337203685477.5808 ș i 922337203685477.5808
5. Memo este utilizat pentru text de lungime ce dep ășește
capacitatea de 255 caract ere a tipului text;
6. Obiecte OLE este tot un câmp de capacitate mare;
7. Date/Time conține informa ții de dată și/sau timp;
8. Yes/No conține una din cele dou ă stări: yes/no, on/off,
true/false .

• Validarea datelor . Este o etap ă foarte important ă deoarece în
acest moment se stabilesc criteriile de validare a informa țiilor
ce vor fi introduse în baza de date. Microsoft Access 2003
pune la dispozi ție în acest scop urm ătoarele
instrumente/proprietăț i:
o Required și Allow ZeroLenght garanteaz ă introducerea
de date în câmpurile de tip cheie și la cele în care apli-
cația solicită existența unor informa ții diferite de null;
o Input Mask este util ă pentru stabilirea unui format al
datelor introduse;
o Rule și Validation Text verifică dacă utilizatorul intro-
duce informa ții valide, deci respect ă tipul de date și
eventualele limite impuse (dac ă există).
• Crearea indec șilor. Deși Microsoft Access 2003 creeaz ă un
index după cheia primar ă, pentru a spori viteza de c ăutare, se
pot folosi și alți indecși pentru câmpurile cu utilizare
frecventă. Chiar dac ă utilizarea acestora m ărește timpul de
introducere a datelor datorită timpului necesar pentru
actualizarea indec șilor suplimentari, procesele de c ăutare vor
fi accelerate de existen ța lor.
Deși cea mai frecvent ă modalitate de creare a tabelelor în Microsoft
Access 2003 este cea manuală , uneori poate ap ărea necesitatea creării
unui tabel în mod dinamic, printr-un program . Microsoft Access
2003 permite folosirea at ât a noilor tehnici ActiveX Data Objects(ADO),
cât și a celor deja tradi ționale Data Microsoft Access Objects . Pașii urmăriți
la crearea unui tabel sunt aceia și ca în cazul cre ării manuale; în func ție de
modul de generare a tabelului, pot s ă apară și anumite cerin țe suplimentare.
Programul de declarare a coloanelor tabelului PuncteLucru și
stabilirea cheii primare pe câmpul IdPunctLucru folosind bibliotecile
ADO și containerele de tip catalog, este prezentat ă în figura 3.8.

Sub MakeLocalTable()

Dim cat1 As ADOX.Catalog Dim tbl1 As ADOX.Table Set cat1 = New Catalog
cat1.ActiveConnection = CurrentProject.Connection
Set tbl1 = New Table
'Denumirea tabelului și adăugarea coloanelor.

With tbl1 .Name = "PuncteLucru"
.Columns.Append "IdPunctLucru", adAutonumber
.Columns.Append "Denumire", adVarWChar, 20 .Columns.Append "Adresa", adVarWChar, 50 .Columns.Append "Telefon", adVarWChar, 15
.Columns.Append "E-mail", adVarWChar, 30
.Columns.Append "Comentarii", adVarWChar, 100 End With

cat1.Tables.Append tbl1
Set cat1 = Nothing
'Crearea cheii primare a tabelului. Dim pk1 As New ADOX.Index

cat1.ActiveConnection = CurrentProject.Connection
Set tbl1 = cat1.Tables("PuncteLucru")
With pk1
.Name = "MyPrimaryKey" .PrimaryKey = True
.Unique = True
.IndexNulls = adIndexNullsDisallow End With pk1.Columns.Append " IdPunctLucru"
tbl1.Indexes.Append pk1 Set cat1 = Nothing
End Sub
Figura 3.8. Crearea unui tabel prin program

Prin intermediul programului se pot exercita și alte acțiuni asupra
tabelelor cum ar fi popularea cu date în mod dinamic prin intermediul
recordset -urilor, transferul de da te din/în alte formate.
Microsoft Access 2003 pune la dispozi ția utilizatorilor o form ă de
creare a tabelelor, prin introducerea direct ă a datelor în forma
tabelară . Este cea mai simpl ă formă de creare a unui tabel, realizându-se
în același timp și încărcarea tabelului cu date. Microsoft Access 2003

stabileș te tipul fiec ărui câmp, în func ție de tipul de date introdus de la
tastatură, determinând și unul dintre câmpuri drept cheie primar ă.
Încărcarea cu date a tabelelor (popularea) , indiferent de modul
în care se creeaz ă un tabel, se realizeaz ă prin Table Datasheet View . La
adăugarea de date în acest mod, se respect ă toate regulile de validare
referitoare la integritatea referen țială și integritatea entit ății; dacă nu se
respectă condițiile de validare, utilizatorul este avertizat printr-un mesaj
de atenționare, oferindu -i-se totodat ă posibilitatea corect ării erorilor de
introducere. În acest fel, introducerea datelor este mult mai rapid ă decât
prin intermediul unui formular, mai ales în faza de testare a bazei de date.
Cu toate avantajele acestei modalit ăți de populare a tabelelor, este
de preferat înc ărcarea datelor prin intermediul unui formular, mai ales
când se aloc ă date în mai multe tabele.
3.3. Interog ări

3.3.1. Interogări în Microsoft Access 2003
O interogare ( query) este o defini ție a datelor care se extrag: care
câmpuri din tabele, din ce tabele, criteriile de selec ție, ordinea de sortare.
Structura unei interog ări indică datele care se vor extrage (figura 3.9.),
Microsoft Access oferind urm ătoarele posibilit ăți:
selectarea anumitor câmpuri mai semnificative din înregistr ă-
rile unei tabele; •





• selectarea înregistr ărilor care satisfac anumite criterii;
sortarea înregistr ărilor într-o ordine precizat ă de utilizator;
interogarea mai multor tabele; o interogare permite
combinarea înregistr ărilor din mai multe tabele și afiș area
rezultatului într-un singur tabel de date;
interogarea altor baze de date ex istente în sisteme de gestiune
a bazelor de date cum sunt FoxPro, Paradox, dBase, Btrieve, Microsoft SQL Server;
crearea de câmpuri pentru afi șarea rezultatelor unor calcule;
crearea de rapoarte, formulare sau alte interog ări.

Figura 3.9. Exemplu de structur ă a unei interog ări

Odată construit ă, o interogare poate fi surs ă de înregistră ri pentru
crearea unui formular sau a unui raport. De fiecare dat ă când se deschide
formularul sau se imprim ă raportul, interogarea folosit ă drept surs ă de
date extrage din tabel ă informații actualizate. De asemenea, se pot intro-
duce sau modifica date fie direct în tabelul de date a interog ării, fie în
formularul creat pe baza acesteia.
Interogările afiș ează datele con ținute în cel mult 16 tabele. Cu
ajutorul lor se poate indica modul în care s ă fie prezentate datele, alegând
tabelele care con țin interogarea și cel mult 255 de câmpuri ale acestora.
În Microsoft Access 2003 se pot crea urm ătoarele tipuri de intero-
gări: interog ări de selecț ie, interog ări de acțiune, interog ări încrucișate și
interogări parametrice.
Interogările de selec ție extrag informa ții din unul sau mai multe
tabele și le afișează sub form ă de listă . Sunt cel mai u șor de creat și au
avantajul c ă pot afișa un num ăr redus de date dintr-un tabel de mare
capacitate (datele care îndeplinesc condi țiile specificate). Ele permit și
modificarea rezultatului afi șat, modificare ce va fi v ăzută și în tabelul

sursă. De asemenea, permit ș i folosirea de parametri, cum este reuniunea
de câmpuri din tabele între care nu exist ă nici o leg ătură.
Interogările de acț iune creează un nou tabel în baza de date sau
realizează modifică ri majore ale unui tabel ex istent. În general, toate
interogările de ac țiune pot fi realizate pe baza unei interog ări de selecț ie.
Ele permit ad ăugarea, modificarea sau ștergerea de înregistră ri într-un
tabel. Exist ă patru tipuri de interog ări de acțiune:
• interogări de generare a unui nou tabel din datele con ținute în
setul de rezultate al interog ării;
• interogări de adăugare a noi înregistr ări într-un tabel;
• interogări de ștergere a unor înregistră ri dintr-un tabel;
• interogări de actualizare a unor înregistr ări dintr-un tabel,
conform cu o condi ție ce trebuie îndeplinit ă.
Acțiunile acestora sunt ireversibile asupra datelor din tabelele surs ă, iar
în cazul ultimelor trei dintre ele, trebuie urm ărită păstrarea integrit ății re-
ferențiale atunci când prin intermediul lor se ac ționează asupra mai mul-
tor tabele legate.
Interogările încruciș ate centralizeaz ă în formatul unei foi de
calcul tabelar datele din unul sau mai multe tabele. Datele rezultate dup ă
execuția unei astfel de interog ări sunt prezentate în tr-un format potrivit
pentru analiza datelor și crearea de grafice.
Interogările parametrice nu sunt un tip special de interog ări, o
funcție parametru putând fi folosit ă pentru toate celelalte interog ări
prezentate mai sus; ele folosesc în mod repetat o interogare, efectuând
modifică ri în criteriile de selec ție.
3.3.2. Crearea interog ărilor
Microsoft Access include patru modalit ăți de creare a unei interog ări:
1. automat (Query Wizard);
2. manual (Query Design);
3. comenzi SQL;
4. prin program(bibliotecile ActiveX Data Objects, Data Microsoft Access Objects și obiectele QueryDef)
Crearea interog ărilor utilizând Query Wizard , este posibil ă
atât pentru interog ările de selec ție cât și pentru interog ările încruci șate.

Simple Query Wizard este destinat pentru crearea de interog ări de
selecție în principiu dintr-un si ngur tabel, dar poate afi șa date din dou ă
sau mai multe tabele și interogări între care exist ă sau nu leg ături directe.
Printre op țiunile puse la dispoziț ia utilizatorului sunt și cele de aduna-
re/contorizare a datelor din câmpurile ce con țin valori numerice. În ecra-
nul din figura 3.10. câmpur ile selectate sunt din dou ă tabele legate direct.
Rezultatul interog ării este reprezentat de lista tuturor angaja ților,
identificați prin nume și prenume. Al ături de fiecar angajat apare și
denumirea departamentului în care acesta î și desfășoară activitatea.

Figura 3.10. Ecranul ini țial al Simple Query Wizard

Pentru interog ările încruciș ate, Microsoft Access 2003 dispune de
un program Wizard dedicat (Crosstab Query Wizard ) – figura 3.11., care
se poate accesa prin intermediul butonului New. În aceast ă interogare s-
au stabilit rândurile, coloanele și funcția de calcul pentru determinarea
numărului de angajaț i care își desfășoară activitatea în cadrul fiec ărui
departament. Crosstab Query Wizard este restricț ionat de posibilitatea de
a totaliza date doar în tr-un singur tabel.

Figura 3.11. Ecran de lucru al Crosstab Query Wizard

Alături de cele dou ă programe Wizard, Microsoft Access 2003
mai pune la dispozi ție alte dou ă tipuri de astfel de programe deosebit de
utile în între ținerea unei baze de date rela ționale: Find Duplicates Query
Wizard și Find Unmatches Query Wizard care pot fi apelate prin expri-
marea opțiunii de creare a unei noi interog ări, la selectar ea butonului New.
Interogarea care g ăsește duplicatele ( Find Duplicates Query
Wizard ) localizeaz ă înregistr ările ce con țin valorile duplicat dintr-un
anumit câmp. Este o interogare extrem de util ă atât în gestionarea cre ște-
rii dimensiunii unui tabe l, prin evitarea înc ărcării inutile cu date duble,
cât și pentru stabilirea pe parcur s a unui câmp drept cheie primar ă, atunci
când înregistr ările duplicat nu permit acest lu cru. În figura 3.12. este pre-
zentat unul dintre ecranele de lucru al acestui program, în care s-a ales
câmpul pentru care se dore ște căutarea de duplicate.

Figura 3.12. Ecran de lucru al Find Duplicates Query Wizard

Dacă interogarea ce g ăsește duplicatele este util ă pentru elimina-
rea înregistr ărilor duble ca urmare a unor eror i de introducere, cea care
găsește valorile nepotrivite localizeaz ă înregistrările asociate care nu mai
au o înregistrare principală corespondent ă ca urmare a erorilor de șterge-
re și care afecteaz ă integritatea referen țială.
Cele patru programe Wizard sunt extrem de utile și de facile în
utilizare, dar destul de limitate pentru a face fa ță tuturor cerin țelor unei
baze de date de dimensiuni mari.
Crearea manual ă a interog ărilor se realizeaz ă prin
intermediul op țiuni Query Design care folose ște pentru interfa ța grafică
Query by Example (QBE) . Aceasta permite și utilizatorilor care nu știu
limbajul de programare QBE să găsească și să afișeze informa țiile de care
au nevoie.
Odată activată opțiunea Query Design , Microsoft Access 2003 va
considera implicit c ă orice generare a unei noi interog ări este o interogare
de selecție. Transformarea tipului de inte rogare implicit se face prin se-
lectarea tipului dorit din meniul Query (figura 3.13).

Figura 3.13. Fereastra Query Design

Pentru a crea o nou ă interogare în modul Query Design, se vor
parcurge urm ătorii pași:
1. selectarea tabelelor din care se doresc a fi afi șate/prelucrate da-
tele;
2. selectarea câmpurilor care se vor transforma în coloanele ta-
belului rezultat al interog ării;
3. stabilirea criteriilor de selec ție și a câmpurilor asupra c ărora
vor fi aplicate; se poate apel a la un singur criteriu de selec ție
sau la mai multe criterii, aplicat e fie unor câmpuri diferite, fie
formând un criteriu co mpus aplicat aceluia și câmp;
4. stabilirea parametrilor de selec ție. Parametrii func ționează
pentru interog ări asemănător criteriilor de selec ție, cu
deosebirea c ă la fiecare execu ție trebuie specificat ă valoarea
parametrului în funcț ie de care se va realiza selec ția;
5. stabilirea tipului de sortare a datelor afi șate ca rezultat și a
câmpurilor asupra c ărora va acț iona;

6. specificarea formulei pentru câmpurile care sunt rezultatul
unor opera ții executate asupra unora dintre câmpurile deja
existente. Acest lucru se poate face fie prin scrierea direct ă a
formulei, fie prin apelarea la generatoarele de func ții pentru
calcule mai complicate sau care folosesc func ții definite deja
în Microsoft Access 2003;
7. alegerea tipului de interogare prin selectarea din meniul
Query a uneia dintre op țiunile: interog ări de selec ție,
interogări încruci șate, de generare a unui tabel, de ad ăugare
într-un tabel, de ștergere dintr-un tabel, de actualizare a unui
tabel. În funcț ie de opțiunea aleas ă, Microsoft Access 2003
modifică designul interogă rii și cere informa ții suplimentare
astfel:
pentru generarea unui tabel – numele tabelului ce urmeaz ă
a fi creat; •


• pentru ad ăugarea într-un tabel – numele tabelului ce
urmează a fi înc ărcat cu date, precum și câmpurile
destinație;
pentru actualizare – condi țiile de actualizare și valoarea la
care se dore ște actualizarea;
pentru ștergere – numele tabelului din care se va șterge și
condiția de ș tergere.
Ca și în cazul tabelelor, Microsof t Access 2003 are capacitatea de
a afiș a în mod ierarhic dou ă interogări între care exist ă o legătură. În
acest fel, în cadrul rezultatului unei interog ări de selec ție, pot fi afi șate
sub formă de subtabel și date dintr-o alt ă interogare aflat ă într-o rela ție de
tip părinte-copil cu interogarea ini țială, așa cum se poate observa și în
figura 3.14. În acest scop se folose ște din meniul View opțiunea de
proprietăți ale interog ării, în cadrul c ărora se specifică interogarea cu care
este legat ă cea curentă , precum și câmpurile prin care se realizeaz ă
această legătură.

Figura 3.14. Vizualizarea rezultatelor a dou ă interogări legate

Folosind baza de date destinat ă evidenței angaja ților ce a fost
creată anterior, vom utiliza Query Design pentru a realiza o interogare
care să genereze denumirea tuturor punctelor de lucru în care î și
desfășoară activitatea angaja ți având numele Popescu . Pentru aceasta, în
fereastra interog ării vom ad ăuga cele dou ă tabele, Angajati și
PuncteLucru , iar Microsoft Access va trasa automat leg ătura existent ă
între câmpurile corespondente. Urmeaz ă să adăugăm câmpurile dorite
(dublu clic), în cazul nostru Denumire și Nume , după care adăugăm
condiția de filtrare. Pentru aceasta, ne deplas ăm pe coloana câmpului
Nume , linia Criteria , și introducem textul „Popescu” . De asemenea, vom
scoate bifa de pe coloana câmpului Nume pentru ca acesta s ă nu apară în
cadrul rezultatelor interog ării – figura 3.15.

Figura 3.15. Proiectarea unei interog ări folosind Query Design

Pentru a rula interogarea avem la dispozi ție butonul din bara de
instrumente pe care este desenat semnul exclam ării de culoare ro șie sau,
în mod echivalent, putem folosi op țiunea Run a meniului Query – figura
3.16.

Figura 3.16. Rezultatele interog ării

Pentru salvarea interog ării sub numele PuncteLucruPopescu s-a
folosit butonul Save. După ce opera ția de salvare s-a încheiat cu succes,
interogarea nou creat ă poate fi accesat ă folosind fereastra bazei de date –
figura 3.17.

Figura 3.17. Vizualizarea interog ării în fereastra bazei de date

În mod asem ănător, dorim s ă realizăm o interogare care s ă
genereze to ți angajații care au mai mult de doi copii. În fereastra Query
Design vom ad ăuga de data aceasta un singur tabel, Angajați. Câmpurile
care vor fi ad ăugate sunt Nume , Prenume și NumarCopii. Pe linia
Criteria a ultimului câmp vom specifica condi ția de filtrare >2, ca în
figura 3.18. Putem utiliza linia Sort pentru a specifica modalitatea în care
dorim să se realizeze or donarea înregistră rilor returnate de query. În
cazul nostru am optat pentru ordonarea descendent ă după nume a
angajaților. Interogarea va fi salvat ă sub numele AngajatiCuPeste2Copii.
Dacă însă ne-ar interesa s ă obținem, cu ajutorul unei interog ări,
toți angajații care sunt n ăscuți înainte de 11 decembrie 1976, atunci în
coloana câmpului DataNastere , pe linia Criteria, va trebui specificată
următoarea condiț ie de filtrare: < #11/12/1976#. În situaț ia în care dorim
ca unul dintre câmpurile returnate s ă fie denumit altfel, atunci va trebui
ca în fereastra interog ării să specificăm noul nume înaintea câmpului
dorit urmat de semnul :, ca în figura 3.19.

Figura 3.18. Proiectarea interog ării ce returneaz ă angajaț ii care au mai mult de doi
copii

Figura 3.19. Proiectarea interog ării ce returneaz ă angajaț ii care s-au n ăscut înainte
de 11 decembrie 1976

Crearea interog ărilor utilizând comenzi SQL permite
construirea direct ă a interog ărilor pe baza unui limbaj specializat. Dac ă
toate tipurile de interog ări prezentate pot fi generate folosind QBE, exist ă
interogări ce necesit ă folosirea unui instrume nt mai puternic pentru
gestionarea acestora, instrument numit SQL (Structured Query
Language).
SQL este un set standard de cuvinte din englez ă folosite la descri-
erea unei interog ări, fiind limbajul utilizat în mod obi șnuit la gestionarea
bazelor de date client/server, în care aplica ția de tip client genereaz ă in-
strucțiuni SQL prin care adaug ă, editează, șterge datele din aplica ția
server a bazei de date.
SQL este un limbaj orientat pe se turi, fiind un limbaj de aplica ție
pentru bazele de date rela ționale. Cuprinde șase categorii de comenzi prin
care se creeaz ă și se gestioneaz ă interogările:
1. comenzile Data Query Language sunt utilizate pentru extra-
gerea datelor și pentru stabilirea modului de prezentare; prin-
cipala comand ă din acest set este comanda SELECT ;
2. comenzile Data Manipulation Language sunt utilizate pentru
adăugarea, modificarea, ștergerea datelor; includ comenzile
INSERT, DELETE, UPDATE;
3. comenzile Transaction Processing Language sunt utilizare
pentru procesarea tranzac țiilor; includ comenzile BEGIN
TRANSACTION, COMMIT, ROLLBACK;
4. comenzile Data Definition Language sunt utilizate pentru de-
finirea și modificarea structurii tabelelor și a vizualiz ărilor;
5. comenzile Cursor Control Language sunt utilizate pentru con-
trolul selec ției unui singur rând din setul de r ezultate în
vederea proces ării;
6. comenzile Data Control Language sunt utilizate pentru funcț ii
administrative ce acord ă sau revoc ă privilegiile de utilizare a
bazei de date; includ comenzile GRANT, REVOKE;

Vocabularul acestui limbaj es te format din cuvinte cheie
astfel:
1. comenzile sunt verbe ce determin ă executarea unei ac țiuni;
2. calificativele limiteaz ă domeniul valorilor entit ăților
incluse într-o interogare;

3.clauzele modifică acțiunea unei instruc țiuni

Figura 3.20. Prezentarea interogă rii din figura 3.15. în modul SQL

4.operatorii compară valorile
5.funcțiile globale de grup întorc un unic rezultat pentru un
set de valori;
6.alte cuvinte cheie modifică acțiunea unei clauze sau
manipuleaz ă cursoarele utilizate la selectarea anumitor
rânduri din interog ări

Figura 3.21. Interogare UNION creat ă folosind SQL

Pentru orice interogare, Microsoft Access transform ă expresiile
QBE introduse în modul Query Design, într-o serie de declara ții ale lim-

bajului SQL ce pot fi vizualizate prin alegerea op țiunii SQL de pe bara de
instrumente. În figura 3.20. este prezentat șirul de declara ții SQL pe care
l-a generat interogarea creat ă prin QBE , prezentat ă în figura 3.15.
Toate interog ările de selecț ie și cele de ac țiune pot fi scrise direct
în SQL, existând câteva tipuri de interog ări care nu pot fi declarate decât
în SQL. Acestea sunt interog ările de tip UNION și subinterog ările.
Interogările de tip UNION sunt interog ări ce permit combinarea
într-un singur set de rezultate a dou ă sau mai multe seturi de rezultate
produse de interog ări SELECT (figura 3.21.); restric ții de utilizare:
tabelele selectate pentru a forma o interogare trebuie s ă aibă
același număr de câmpuri, în aceea și ordine și același tip de
date; •

• în cele dou ă interogări de selec ție trebuie s ă fie același număr
de câmpuri, cu acela și tip de date;
este permis ă o singură clauză SORT BY .
Subinterog ările sunt interog ări de selec ție care se afl ă în interiorul
altei interog ări. Este obligatoriu ca subinterogarea s ă fie de selec ție, dar
poate fi folosit ă în orice alt fel de interogare (de selec ție sau de acț iune).
Posibilitatea folosirii de subinterog ări este o opț iune foarte
importantă în crearea dinamic ă de criterii în interog ările obișnuite.

Figura 3.22. Crearea unei interog ări folosind SQL

Pentru exemplificare vom construi, folosind clauze SQL, o
interogare care s ă returneze num ărul total de angaja ți care își desfășoară
activitatea în cadrul companiei. Din database window vom alege
opțiunea Create query in Design view după care execută m clic dreapta în
cadrul ferestrei ap ărute și selectăm SQL view . Se introduc clauzele SQL
corespunz ătoare (figura 3.22.) dup ă care se folose ște comanda Run
pentru a executa interogarea.
O posibilitate avansat ă o reprezint ă crearea interog ărilor prin
program . Deși cea mai obi șnuită cale de creare a unei interog ări este cea

manuală, există cazuri în care este necesar ă generarea unei interog ări în
timpul execu ției unui program.
Aceste interog ări pot fi generate fi e prin apelarea la SQL, fie prin
folosirea bibliotecilor ADO, DAO și a obiectelor de tip QueryDef.
Crearea interog ărilor prin program folosind SQL se bazeaz ă pe
aceleași elemente: SELECT, FROM, WHERE .
Crearea interog ărilor folosind obiectele QueryDef se realizează
într-un mod asem ănător cu crearea prin program a tabelelor.
Microsoft Access 2003 are îmbun ătățiri în domeniul lucrului în
mod local cu informa ții externe gestionate de Oracle sau Microsoft SQL
Server. În acest mod se poate interoga o leg ătură ODBC în acela și mod în
care se interogheaz ă un tabel local.
Microsoft Access Project se leagă direct la SQL Server 5.5, 7.0
sau 2000 și la Microsoft Data Engine (ultima versiune SQL Server pentru
mediul Windows). În acest mediu, prin Microsoft Access Project se poate
lucra cu o bază de date dintr-un astfel de server, în acela și mod cu care se
lucrează cu o bază de date local ă.
Cea mai mare diferen ță în lucrul direct cu o baz ă de date aflat ă pe
un server în ceea ce prive ște crearea interog ărilor prin program o repre-
zintă obligativitatea specific ării parametrilor de leg ătură. În funcție de ti-
pul bazei de date pe care se lucreaz ă, se vor defini parametrii de leg ătură,
apoi interogarea poate fi creat ă în mod normal, ca pentru o baz ă de date
locală.
3.4. Formulare
3.4.1. Formulare în Microsoft Access 2003
Formularele sunt machete (fer estre) folosite în scopul ad ăugării,
modifică rii, ștergerii sau consult ării datelor în/din tabelele bazei de date.
Formularul este destinat în sp ecial ecranului, dar poate fi tip ărit ș i la
imprimant ă. Este folosit pentru un acces aleator la înregistră ri, în sensul
că după ce se obț ine accesul la o înregistrare, utilizatorul poate trece la
sfârșitul formularului pentru a ad ăuga o înregistrare; ulterior va putea
reveni la început pentru a c ăuta o alt ă înregistrare. Un exemplu de
formular este redat în figura 3.23.

Figura 3.23. Exemplu de formular

Spre deosebire de rapoarte, dac ă se tipărește un formular la im-
primantă apar ș i culorile de fundal, împreun ă cu butoanele de comand ă,
casetele de text ș i alte controale.
Formularele au și anumite limite; principala limit ă se referă la
faptul că nu pot grupa datele dup ă diverse criterii, inconvenientul fiind
eliminat prin utilizarea rapoartelor.
Actualizarea tabelelor se poate face și direct, prin deschiderea lor
din fereastra bazei de date, îns ă utilizarea formularelor prezint ă următoa-
rele avantaje:
interfața prietenoas ă este realizat ă prin intermediul diferitelor
controale sau alte elemente grafice; •

• posibilitatea definirii unor re guli de validare suplimentare
celor definite la nivelul tabelelor;
posibilitatea actualiz ării mai multor tabele printr-un singur
formular, opera ție realizabil ă prin intermediul subformu-
larelor.
Clasificarea formularelor se poate face în func ție de următoarele criterii,
detaliate în continuare:
1. După sursa de date:

ƒ formulare legate (bound) sunt formulare care permit
afișarea sau actualizarea datelor din tabele;
ƒ formulare nelegate (unbound) sunt formulare destinate afișării sau edit ării unor date care nu sunt stocate în tabele.
Ele sunt folosite frecvent pentru afiș area unor mesaje,
vizualizarea unor informa ții despre sistem, preluarea
datelor necesare afi șării unui raport etc.
2. În funcție de modul de afiș are, sunt disponibile urm ătoarele
tipuri de formulare:
ƒ Single form afișează doar înregistrarea curent ă;
ƒ Continuous form permite vizualizarea mai multor
înregistrări;
ƒ Datasheet form afișează datele sub form ă de linii și
coloane, la fel ca o foaie de calcul tabelar;
ƒ Chart form afișează datele sub form ă grafică.
3. După modul de interac țiune cu alte ferestre:
ƒ formulare modale sunt formulare care nu permit accesarea obiectelor con ținute în alte ferestre pân ă când nu sunt
închise sau ascunse (se mai numesc și formulare de
dialog);
ƒ formulare nemodale sunt formulare care permit utilizatorului s ă activeze și alte ferestre.
Microsoft Access 2003 permite proi ectarea formularelor în urm ă-
toarele scopuri:
afișarea și editarea datelor . Este cea mai obi șnuită utilizare a
formularelor. Formularele ofer ă o modalitate de personalizare
a proiectă rii datelor în cadrul unei aplica ții de baze de date.
De asemenea, formularele se pot folosi pentru schimbarea,
ștergerea sau ad ăugarea datelor într-o baz ă de date; •
• controlul desf ășurării aplica țiilor. Se pot proiecta formulare
care lucreaz ă cu comenzi macro sau cu proceduri Microsoft
Visual Basic for Application (VBA) destinate automatiz ării
afișării anumitor date sau a ordinii anumitor ac țiuni. Prin in-
termediul comenzilor macro ș i al procedurilor VBA se pot
deschide alte formulare, se pot lansa în execu ție interog ări, se
pot limita datele afi șate, se poate executa o comand ă din
meniu, se pot configura valori în cadrul înregistră rilor și al

formularelor, se pot afiș a meniuri, se pot tip ări rapoarte și
realiza o mulț ime de alte ac țiuni. De asemenea, se poate
proiecta un formular astfel încât s ă realizeze comenzi macro și
proceduri VBA atunci când apar anumite evenimente (de
exemplu, se deschide un formular, se selecteaz ă un anumit
control, se execut ă clic pe o op țiune sau se schimbă datele din
formular);
acceptarea intr ării. Se pot proiecta formulare folosite pentru
introducerea de noi date într-o baz ă de date sau pentru furni-
zarea valorilor de date care permit automatizarea unei aplicații; •

• afișarea mesajelor . Formularele pot oferi informa ții
referitoare la modul de utilizare a unei aplica ții sau despre
acțiunile viitoare. De asemenea, Microsoft Access furnizeaz ă
o acț iune macro MsgBox și o funcț ie VBA MsgBox care
folosesc la afi șarea informa țiilor, a mesajelor de avertizare sau
de eroare;
tipărirea informaț iilor. Deși pentru tip ărirea informa țiilor se
folosesc în general rapoarte, acest lucru se poate realiza și cu
ajutorul unui formular.
În esență, formularele din Microsoft Access 2003 creeaz ă interfa-
ța utilizatorului cu tabelele. Ele pe rmit realizarea unor obiective ce nu pot
fi îndeplinite prin lucrul în mod direct cu tabelele. Prin intermediul lor se
operează direct asupra datelor fie dintr-un tabel, fie din mai multe tabele
asociate, fiind create de cele ma i multe ori pe baza unei interog ări care
include toate câmpurile necesare.
Formularele sunt compuse din obiecte de control, care sunt o co-
lecție de elemente specifice de proiectare destinate fie afi șării datelor din
tabele, fie afi șării informa țiilor generale.

3.4.2. Crearea formularelor
Microsoft Access 2003 include un num ăr de nou ă programe
Wizard prin intermediul c ărora se pot crea formulare în formate
prestabilite, formulare tip grafic și formulare pivot (figura 3.24.); ele sunt
activate la op țiunea utilizatorului de a crea un nou formular, prin
selectarea butonului New (figura 3.24).

Figura 3.24. Ecranul ini țial în crearea unui formular utilizând programele Wizard

Se observ ă că există următoarele modalit ăți de realizarea a
formularelor:
1. Design View permite crearea manual ă a formularelor.
Utilizatorului i se pune la dispozi ție un tabel liber și caseta cu
instrumente Toolbox ;
2. Form Wizard genereaz ă un formular pe baza câmpurilor
selectate din unul sau mai multe tabele sau interog ări;
3. AutoForm: Columnar creează un formular în care fiecare
câmp apare pe o linie separat ă având în stânga numele, fiecare
înregistrare reprezentând un nou tabel;
4. AutoForm: Tabular creeaz ă un formular în care numele câm-
purilor apare o singur ă dată în capătul de sus al formularului,
iar înregistrarea date lor se face pe linie;
5. AutoForm: Datasheet creează un formular în care datele sunt
afișate sub forma foilor de calcul tabelar;
6. AutoForm: PivotTable creează u n f o r m u l a r î n c a r e s u n t
afișate date calculate – vezi punctul 9 pentru mai multe
detalii;
7. AutoForm: PivotChart creează un formular în care sunt
afișate sub form ă grafică date calculate;

8. Chart Wizard creează un formular în care datele sunt afi șate
sub forma unui grafic;
9. Pivot Table Wizard creeaz ă un formular în care sunt afi șate
datele calculate; programul folose ște aplica ția Microsoft
Excel 2003 pentru a crea tabelul pivot, în timp ce în Microsoft
Access 2003 se creeaz ă formularul în care acesta va fi inclus.
Sunt numite astfel pentru c ă li se poate schimba în mod
dinamic aranjarea astfel încât s ă analizeze datele selectate în
diverse moduri.
Dacă variantele AutoForm genereaz ă tipul de formular selectat
într-un singur pas, celelalte programe necesit ă trecerea prin mai multe
etape.
În esență , formularele din Micr osoft Access 2003 creeaz ă interfa-
ța utilizatorului cu tabelele și interogările.
Crearea formularelor utilizând Design View constă în proiectarea
manuală a formularelor, ini țial fiind puse la dispozi ție un formular liber
și caseta cu instrumente Toolbox .
În formularele Microsoft Access 2003 exist ă trei mari categorii de
obiecte de control:
1. obiecte de control asociate sunt obiecte ataș ate unui câmp din
sursa de date a formularului, ele afi șând și actualizând valorile
datelor câmpului asociat din înregistrarea curent ă. Toate
obiectele de acest fel sunt înso țite de etichete ce afi șează titlul
câmpului că ruia îi sunt ata șate;
2. obiecte de control neasociate sunt obiecte care afi șează datele
independente de sursa de date a formularului; ele pot sau nu
să fie însoțite de etichete;
3. obiecte de control calculate sunt obiecte ce folosesc expresiile
calculate, ca surs ă de date.
Caseta Toolbox este utilă pentru inserarea obiectelor de control în-
tr-un formular. La fiecare inse rare a unui obiect, se apeleaz ă un program
Wizard care ajut ă la proiectarea obiectelor de control mai complexe.
Principalele obiecte de cont rol vizibile pe caseta Toolbox sunt:
caseta de text Text Box creează o casetă ce afiș ează și permite
editarea datelor de tip text; •
• caseta de list ă List Box creează o casetă ce cuprinde o listă
derulantă de opțiuni;

caseta combinat ă Combo Box creează o casetă combinat ă for-
mată dintr-o caset ă de text editabil ă și o casetă de listă. Poate
avea ca surs ă chiar un alt tabel d ecât sursa de date; •






• casetă de validare Check Box creează o casetă de validare
care comută între stările on și off;
buton comutator Toggle Button creează un buton cu dou ă stări
on/off , corespunz ătoare stă rilor yes (-1), respectiv no (0);
buton de op țiune Option Button creează un buton rotund cu un
comportament identic cu cel al unui buton comutator;
grup de opț iune Option Group creează o casetă în care se pot
plasa butoane comutatoare, de op țiune sau casete de validare.
În cadrul unui astfel de grup poate fi activ un singur obiect de
control;
buton de comandă Command Button creează un buton care la
selectare comut ă un eveniment ce execut ă o macroinstruc țiune
sau o procedur ă VB;
etichetă Label creează o casetă ce conține un text fi x de descrie-
re;
submachet ă Subform atașează unei machete o submachet ă
deja existent ă.
Pentru crearea manual ă a unui formular se parcurg urm ătorii pași:
1. stabilirea surselor de date care pot fi unul sau mai multe tabe-le/interog ări;
2. stabilirea tipului de formular dorit, în func ție de forma de
afișare;
3. alegerea obiectelor de control necesare și configurarea lor
conform cu necesit ățile de afi șare și editare în cadrul
formularului;
4. configurarea zonelor de antet și de subsol atât la nivelul
întregului raport cât și la nivelul fiec ărei pagini;
5. crearea unui subformular dac ă este necesar;
6. adăugarea subformularului și crearea leg ăturilor cu formularul
de origine.
Pentru exemplificare vom construi un formular care s ă permită
consultarea tabelei Angajati și actualizarea con ținutului acesteia –
adăugare, modificare și ștergere înregistr ări. Selectăm opțiunea Design

View și alegem tabela Angajati ca sursă de date pentru formular – figura
3.25.

Figura 3.25. Alegerea sursei de date pentru formular

După apăsarea butonului OK, noul form ular va fi deschis în
Design View ș i alături de acesta se va afi șa și o fereastr ă ce conț ine
câmpurile tabelei Angajati . Selectăm toate câmpurile acesteia dup ă care
tragem cu mouse-ul aceste câmpuri în cadrul formularului – figura 3.26.
Dacă nu dorim ca formularul s ă afișeze toate câmpurile tabelei
atunci putem selecta doar câmpurile dorite din lista care ne este pus ă la
dispoziție.

Figura 3.26. Alegerea câmpurilor ce vor ap ărea în cadrul formularului

Comutăm în modul Form View iar formularul ce va fi afi șat ar
trebui să fie asem ănător cu cel prezentat în figura urm ătoare – figura
3.27.

Figura 3.27. Vizualizarea formularului în modul Form View

Formularul va afi șa valorile ce se afl ă în câmpurile tabelei pentru
înregistrarea curent ă. Numărul acesteia ne este indicat în partea inferioar ă
a ferestrei, al ături de butoanele ce pot fi fo losite pentru trecerea la o nou ă
înregistrare. Butonul aflat în extrema dreapt ă poate fi utilizat pentru
adăugarea unei noi înregistr ări.
Valorile afiș ate în cadrul formularului pot fi modificate de c ătre
utilizator iar aceste schimb ări se vor salva automat în baza de date.
Zona din partea stâng ă a formularului este folosit ă pentru
selectarea înregistr ării curente. Apă sarea tastei Del va avea ca efect
ștergerea respectivei înregistr ări. Tot pentru ștergerea înregistr ării curente
se mai pot folosi opț iunile Delete și Delete Record ale meniului Edit .
Utilizatorul poate reveni în Design View pentru a schimba
proprietățile formularului ș i ale obiectelor afi șate în cadrul acestuia. Text
Box-urile pot fi redimensionate și repoziționate, textul ce apare în bara
ferestrei poate fi schimbat, etc. Dup ă efectuarea tuturor modific ărilor și
validarea rezultatelor folo sind modul de vizualizare Form View ,
formularul ar trebui salvat astfel încât s ă fie posibil ă utilizarea lui
ulterioară.
Crearea formularelor utilizând Form Wizard este mai facil ă
modalitate pentru crearea unui formular simplu sau a unui formular care
conține subformulare. Pe baza câmpurilor selectate din unul sau mai
multe tabele sau interog ări, Form Wizard genereaz ă modelul de baz ă al
formularului incluzând și subformularul, precum și obiectele de control
necesare afi șării și editării datelor.
La realizarea unui formular în a cest mod, sunt foarte importante
relațiile existente între tabelele/interog ările sursă ale acestuia, mai ales
dacă între ele nu a fost declarată o relație până în acest moment. Dac ă
există deja declarat ă o relație, Form Wizard solicit ă direct configurarea
subformularului, după cum se observă și în figura 3.28.

Figura 3.28. Ecranul de configurare a formularului în rela ția formular-
subformular

Crearea unui formular se încheie cu opera ția de formatare care
constă din alegerea modului de afi șare, a fundalului, a numelui.
Pentru exemplificare vom construi un formular care s ă permită
consultarea tabelei PuncteLucru și actualizarea con ținutului acesteia –
adăugare, modificare și ștergere înregistr ări. Selectă m opțiunea Form
Wiyard și alegem tabela PuncteLucru ca sursă de date pentru formular –
figura 3.29.

Figura 3.29. Proiectarea unui formular folosinf Form Wizard

Urmeaz ă să parcurgem o succesiune de paș i, la fiecare dintre
aceștia vom fi invita ți să specificăm o serie de informa ții iar pe baza
acestora Microsoft Access va genera în mod automat formularul dorit.
Trecerea la pasul urm ător se realizeaz ă cu ajutorul butonului Next,
revenirea la cel anterior se face prin folosirea butonului Back . Utilizând
butonul Finish , utilizatorul poate opta pentru finalizarea procesului de
creare automat ă a formularului chiar dac ă nu au fost parcur și toții pașii
respectivi. Apă sarea butonului Cancel atrage dup ă sine închiderea
ferestrei f ără generarea formularului.
La primul pas suntem invita ți să indicăm câmpurile tabelei
PuncteLucru pe care dorim s ă le includem în formular. Câmpurile alese
vor fi mutate în partea dreapt ă – figura 3.30. Folosind butoanele <, <<, >,
>> putem selecta/deselecta câmpul curent sau toate câmpurile afi șate.

Figura 3.30. Selectarea câmpurilor dorite

Urmează să specificăm modul de dispunere a câmpurilor selectate
în cadrul formularului – figur a 3.31. Putem alege una dintre opț iunile
următoare:

Columnar – fiecare câmp apare pe o linie separat ă având în
partea stâng ă numele acestuia iar formularul va afi șa la un
moment dat doar valorile aferente înregistră rii curente; •


• Tabular – numele câmpurilor apare o singur ă dată în capătul
de sus al formularului iar valo rile asociate pentru fiecare
înregistrare sunt afi șate pe linii;
Datasheet – datele sunt afi șate sub forma unei foi de calcul
tabelar iar utilizatorul va vizualiza mai multe înregistr ări în
același timp;
Justified – valorile corespunz ătoare înregistr ării curente sunt
afișate unele dup ă altele pe linii succesive.

Figura 3.31. Specificarea modului de disp unere a câmpurilor în cadrul
formularului

În continuare vom opta pentru unul din stilurile de afi șare care ne
sunt puse la dispoziț ie – figura 3.32.

Figura 3.32. Alegerea stilului de afi șare

La ultimul pas vom alege un nume pentru formularul nou creat
sau îl vom accepta pe cel propus în mod implicit. Apă sarea butonului
Finish atrage dup ă sine crearea, salvarea și afiș area în modul Form View
a formularului respectiv – figura 3.33.

Figura 3.33. Vizualizarea formularului în modul Form View

În partea inferioar ă a ferestrei sunt afi șate numărul înregistr ării
curente și numărul total de înregistr ări conținute de c ătre tabela
PuncteLucru . Tot acolo se g ăsesc și butoanele de navi gare care ne ajut ă
să ne deplas ăm către o altă înregistrare sau să adăugăm noi valori.

Utilizatorul poate reveni în Design View pentru a schimba
proprietățile formularului și ale obiectelor con ținute de că tre acesta.
Crearea formularelor utilizând AutoForm este cea mai simpl ă
modalitate pentru crearea unui formular bazat pe o singur ă tabelă sau pe
o singură interogare. Astfel, după specificarea sursei de date, formularul
este creat în mod direct, f ără a mai fi necesar s ă se furnizeze sistemului
alte informa ții, să se selecteze alte op țiuni sau să se apese alte butoane.
Astfel, dac ă optăm pentru varianta AutoForm: Tabular și alegem
ca sursă de date interogarea AngajatiCuPeste2Copii (figura 3.34),
formularul pe care îl vom ob ține va fi asem ănător cu cel prezentat în
figura 3.35.

Figura 3.34. Alegerea tipului de formular și a sursei de date

Figura 3.33. Vizualizarea formularului în modul Form View

În partea inferioară a ferestrei avem zona de navigare care ne d ă
informații despre num ărul înregistr ării curente și despre num ărul total de

înregistrări ce sunt con ținute de c ătre formular. Putem folosi butoanele
din aceast ă zona pentru a ne deplasa pe o nou ă înregistrare. Înregistrarea
curentă este marcat ă cu un semn special în zona din stânga (semnul
).
Pe ultima linie se g ăsește o înregistrare vid ă care poate fi folosit ă pentru
adăugarea de noi valori. Aceast ă înregistrare este marcat ă în partea
stângă prin semnul
.
Utilizatorul poate comuta în modul Design View pentru a schimba
proprietățile formularului și ale obiectelor afi șate în cadrul acestuia.
Salvarea formularului face posibil ă utilizarea ulterioar ă a acestuia.
Crearea formularelor utilizând Chart Wizard ne ajut ă să
realizăm un formular în care datele sunt afi șate sub forma unui grafic.
Graficul numai afi șează valorile câmpurilor tabelei sau interog ării
în forma dorit ă de noi, modificarea acestora nefiind posibil ă. Pentru
obținerea graficului, utili zatorul va trebui s ă parcurgă integral sau par țial
pașii wizard-ului.

Figura 3.34. Exemplu de formular realizat cu Chart Wizard

Astfel, în figura 3.34 se prezint ă formularul ob ținut dacă utilizăm
Chart Wizard pentru a realiza reprezentarea grafic ă a câmpului
NumarCopii din tabela Angajati .
Manipularea formularelor prin program se adreseaz ă
utilizatorilor avansa ți și experimenta ți. De multe ori este necesar ă
referirea la formulare chiar în timpul execu ției unui program, mai ales

dacă se ține seama c ă în spatele obiectelor de control ce formeaz ă orice
formular stau secven țe de program.
Formularele nu pot fi create prin program ca tabelele sau intero-
gările; ele pot fi îns ă manipulate prin intermed iul unui program astfel:
ƒ pot fi ascunse sau eviden țiate;
ƒ pot fi enumerate într-un alt formular;
ƒ pot fi deschise/închise prin intermediul altui formular.

3.5. Rapoarte

3.5.1. Rapoarte în Microsoft Access 2003

Produsul final al aplica țiilor de baze de date este un raport. În
Microsoft Access, raportul este un tip de formular continuu, destinat în
mod special tip ăririi.
Programul Microsoft Access combin ă datele din tabele, interog ări
și chiar formulare și genereaz ă un raport pe care-l tip ărește. Există șase
tipuri de baz ă:
1. rapoartele cu o singur ă coloană afișează toate câmpurile unei
înregistrări dintr-o tabel ă; este utilizat mai rar deoarece
consumă multă hârtie;
2. rapoartele dispuse pe rânduri furnizează câte o coloan ă
pentru fiecare câmp al unei tabele sau interog ări și tipăresc
valoarea fiec ărui câmp al înregistr ării pe rânduri plasate sub
capul de coloan ă. Dacă există mai multe coloane și nu încap
pe o pagină , se tipăresc mai multe pagini suplimentare, în
ordine pân ă la epuizarea num ărului de coloane; apoi, se
tipărește următorul grup de înregistr ări;
3. rapoartele multicoloan ă se obț in din rapoartele cu o singură
coloană, prin divizarea pagini i în mai multe coloane
asemănător tipăririi ziarelor; formatul tabelelor multicoloan ă
asigură un consum mai mic de hârtie;
4. rapoartele cu grupare/totalizare sunt similare rapoartelor
create de alte aplica ții de gestiune a ba zelor de date. Ele
însumeaz ă datele pe grupur i de înregistr ări și adaugă apoi
totaluri generale la sfâr șitul raportului.

5. etichetele pentru coresponden ță constituie un tip deosebit de
raport multicoloan ă, proiectat pentru a tip ări în mod grupat
nume și adrese sau alte informa ții provenite din mai multe
câmpuri. Fiecare grup de câmpuri constituie o celulă într-o
rețea;
6. rapoartele neasociate conțin subrapoarte care au la baz ă surse
de date nelegate, cum ar fi tabele sau interog ări.
Primele patru tipuri de rapoarte utilizeaz ă ca sursă d e d a t e o
tabelă sau o interogare, la fel ca fo rmularele. Ele se numesc rapoarte
asociate sursei de date. Raportul prin cipal al unui raport neasociat nu este
legat la o tabel ă sau interogare. Îns ă subrapoartele con ținute într-un
raport neasociat trebuie s ă fie asociate unei surse de date.
Spre deosebire de raport, formularul permite:
accesul la o înregistrare; •






• adăugarea de înregistră ri la sfârșitul tabelei;
căutarea direct ă a înregistr ărilor;
editarea datelor.
Formularul se bazează pe un set dinamic de date.
Raportul parcurge secvenț ial înregistr ările pentru tip ărirea datelor
cu o frecven ță mare, permi țând:
totaluri, subtotaluri și rezumate;
gruparea datelor pe un num ăr de până la 10 niveluri diferite și
subrapoarte imbricate pe maxim trei niveluri;
folosirea unui instantaneu al datelor;
proiectarea unui raport care s ă foloseasc ă rezultatele unei inte-
rogări și nu datele dintr-o tabel ă.
Raportul nu permite editarea și modificarea datelor. Rapoartele
pot fi stocate pe disc pentru a fi tip ărite ulterior.
Orice raport este structurat pe urm ătoarele sec țiuni:

Report Header zonă rezervată începutului de raport

Page Header zonă rezervată începutului de pagin ă

Detail zonă rezervată pentru descrierea râ ndului de detaliu
din cadrul raportului

Page Footer zonă rezervată pentru sfâr șitul de pagin ă
Report Footer zonă rezervată sfârșitului de raport.

Raportul constituie cea mai bun ă modalitate de a tip ări o
copie a informa țiilor extrase dintr-o baz ă de date. Rapoartele au dou ă
avantaje principale fa ță de alte metode de tip ărire a datelor:
pot compara, rezuma ș i subtotaliza seturi complexe de date; •






• pot fi create s ă realizeze chitan țe atractive, comenzi de cum-
părare, etichete pentru coresponden ță, materiale de prezentare
etc., pentru o conducere eficient ă a afacerilor.
Rapoartele sunt proiectate s ă grupeze datele, s ă prezinte fiecare grup
separat și să facă calcule:
se pot defini până la 10 criterii de grupare pentru a separa ni-
velurile detaliilor;
se pot defini anteturi și subsoluri separate pentru fiecare grup;
se pot realiza calcule complexe nu numai în cadrul grupului
sau al unui set de înregistr ări ci și pentru mai multe grupuri;
suplimentar fa ță de anteturile și subsolurile paginilor, se poate
defini un antet și un subsol pentru tot raportul;
se pot încapsula imagini sau grafice în orice sec țiune a unui
raport;
se pot încapsula subrapoarte sa u subformulare în cadrul sec-
țiunilor raportului.

3.5.2. Crearea rapoartelor

Modul de generare a unui raport prin folosirea programelor
Wizard este asem ănător cu cel prin care se genereaz ă formularele; la ex-

primarea op țiunii de creare a unui nou ra port, sunt puse la dispozi ție mai
multe instrumente (figura 3.35.).

Figura 3.35. Ecranul pentru crearea unui raport folosind ReportWizard

Opțiunile AutoReport realizeaz ă un raport într-un singur pas, cele-
lalte opțiuni necesitând mai mul ți pași pentru a definitiva un raport. Limi-
tările sunt datorate, în prim ul rând, de posibilitatea select ării datelor din-
tr-o singur ă sursă.
Opțiunea Design View permite construirea manual ă a unui
raport. Prin selectarea acestei op țiuni se va deschide o pagin ă liberă și
instrumentele de lucru. În principiu, metoda de creare a unui nou raport
în acest fel este asem ănătoare cu cea de creare a formularelor, trecând
prin acelea și etape și folosind acelea și obiecte de control.
Spre deosebire de formulare, rapoartele au mai multe posibilit ăți
de sortare, grupare și calculare a datelor. În acest scop, Microsoft Access
2003 pune la dispozi ția utilizatorilor seturi de op țiuni pentru formate și
calcule diverse.
Pentru exemplificare vom realiza un raport care s ă conțină toate
câmpurile tabelei Angajati . Pentru început va trebui s ă selectă m opțiunea
Design View și să alegem tabela Angajati ca sursă a datelor – figura 3.36.

Figura 3.36. Alegerea sursei de date pentru raport

Din fereastra care con ține lista câmpurilor tabelei vom selecta
întregul con ținut dup ă care vom trage aceste elemente în cadrul
raportului folosind mouse-ul a șa cum se prezint ă în figura 3.37.

Figura 3.37. Alegerea câmpurilor ce vor ap ărea în cadrul raportului

Pentru a realiza ordon area, gruparea sau însumarea datelor va
trebui să folosim op țiunea
care se g ăsește în meniul
View și care apare și în cadrul meniului contextual declan șat de apăsarea
butonului drept al mouse-ului. În fe reastra ce apare ca urmare a acces ării
opțiunii respective vom putea specifica ordin ea de sortare a informa țiilor
afișate în raport și eventualele criterii de grupare. Astfel, dac ă vom dori
ca gruparea datelor s ă se facă după câmpul Nume iar ordonarea acestora
în cadrul grupurilor s ă se realizeze în ordinea alfabetică a prenumelui
atunci con ținutul ferestrei Sorting and Grouping ar trebui să fie
asemănător cu cel din figura 3.38.

Figura 3.38. Specificarea criteriilor de ordonare și grupare

Pentru ca grupurile s ă devină vizibile este necesar s ă adăugăm
câmpul nume în cadrul sec țiunii Nume Header , ca în figura 3.39.

Figura 3.38. Definirea marcatorului de grup

Pentru a vedea raportul astfel creat va trebui s ă comutăm în
modul Print Preview (butonul
din bara de instrumente sau din
meniul contextual). Raportul ob ținut va fi asem ănător cu cel prezentat în
figura 3.39.

Figura 3.39. Vizualizarea raportului în modul Print Preview

Pentru a modifica aspectul raportului sau propriet ățile obiectelor
conținute, va trebui s ă comutăm pe modul Design View . Raportul astfel
obținut va trebui salvat dac ă se dorește utilizarea ulterioar ă a acestuia.
Crearea rapoartelor utilizând Report Wizard este o alternativ ă
la crearea manual ă a raportului. Aceast ă opțiune care ne va pune la
dispoziție o serie de pa și la finalul c ărora raportul va fi generat în mod
automat. Trecerea la pasul urm ător se realizeaz ă cu ajutorul butonului
Next, revenirea la cel anterior se face prin folosirea butonului Back .
Utilizând butonul Finish , utilizatorul poate opta pentru finalizarea
procesului de creare automat ă a raportului chiar dac ă nu au fost parcur și
toții pașii respectivi. Ap ăsarea butonului Cancel atrage dup ă sine
închiderea ferestrei f ără generarea raportului.
Ne propunem s ă utilizăm facilitatea Report Wizard pentru a
realiza un raport care s ă conțină, pentru fiecare punc t de lucru, lista
angajaților care î și desfășoară activitatea la respectiva loca ție. Raportul

va conține doar trei câmpuri și anume Nume și Prenume din tabela
Angajati , respectiv Denumire din tabela PuncteLucru .
La primul pas va trebui s ă indicăm câmpurile care vor fi incluse
în cadrul raportului. Putem alege orice tabel sau interogare din baza de
date, iar câmpurile corespunz ătoare vor fi afi șate în lista aflat ă în partea
stângă a ferestrei. Câmpurile alese vor fi mutate în partea dreapt ă.
Folosind butoanele <, <<, >, >> putem selecta/deselecta câmpul curent sau toate câmpurile afi șate. Pentru exemplu nostru vom alege cele trei
câmpuri stabilite anterior, a șa cum se arat ă în figura 3.40, dup ă care se
apasă butonul Next..

Figura 3.40. Selectarea câmpurilor dorite

La pasul urm ător vom alege modalitatea standard de vizualizarea
datelor în cadrul raportului – figura 3.41.

Figura 3.41. Stabilirea modalit ății de vizualizare a datelor

Datorită faptului că dorim s ă obținem lista angaja ților pentru
fiecare punct de lucru, vom alege câmpul Denumire pe post de criteriu de
grupare, ca în figura 3.42.

Figura 3.42. Stabilirea criteriilor de grupare

La pasul urm ător vom indica criteriile de sortare ce vor fi aplicate
datelor afi șate în raport. În cad rul unui grup, angaja ții vor fi ordona ți
alfabetic dup ă nume ș i prenume – figura 3.43.

Figura 3.43. Stabilirea criteriilor de ordonare

Butonul Summary Options ne ajută să specificăm ce valori dorim
să includem pe sumarul fiec ărui grup și modul în care s ă fie afișate aceste
informații.
Dup ă apăsarea butonului Next suntem invita ți să alegem modul de
dispunere a câmpurilor în interiorul formularului. Tot aici putem
modifica orientarea paginii dac ă conținutul raportului impune acest lucru
– figura 3.44.

Figura 3.44. Specificarea modului de disp unere a câmpurilor în cadrul
formularului

Microsoft Access ne pune la dispozi ție mai multe stiluri de
formatare a elementelor raportului din care îl vom alege pe cel care se
potrivește cel mai bine cu con ținutul acestuia – figura 3.45.

Figura 3.45. Alegerea stilului de afi șare

Ultimul pas implic ă alegerea unui nume pentru raportul ce va fi
creat în mod automat și care va fi folosit pentru salvarea acestuia. Putem
accepta varianta propus ă sau putem opta pentru o alt ă denumire. Dup ă
apăsarea butonului Finish raportul va fi afi șat pe ecran în modul Print
Preview , așa cum se prezint ă în figura 3.46.

Figura 3.46. Vizualizarea raportului în modul Print Preview

Utilizatorul poate reveni în modul Design View dacă dorește să
modifice aspectul ra portului sau propriet ățile obiectelor con ținute.
Crearea rapoartelor utilizând AutoReport atrage dup ă sine
crearea imediat ă a raportului, f ără a mai fi necesar ă parcurgerea altor pa și
suplimentari.
Astfel, dac ă se alege varianta AutoReport: Columnar și optă m
pentru tabela Angajati ca sursă de date (figura 3.47), atunci vom ob ține
un raport de forma cel ui din figura 3.48.
Varianta AutoReport: Tabular va conduce c ătre obținerea
raportului prezentat în figura 3.49.

Figura 3.47. Alegerea tipului de raport și a sursei de date

Figura 3.48. Vizualizarea raportului Columnar în modul Print Preview

Figura 3.49. Vizualizarea raportului Tabular în modul Print Preview

Utilizatorul poate reveni în modul Design View dacă dorește să
modifice aspectul raportului sau con ținutul acestuia.
Crearea rapoartelor utilizând Chart Wizard ne dă posibilitatea
obținerii unui raport care să conțină un grafic realizat pe baza datelor
conținute în tabela selectat ă. Pentru ob ținerea graficului, utilizatorul va
trebui să parcurgă integral sau par țial pașii wizard-ului.
În figura 3.50 se prezint ă raportul ob ținut dacă utilizăm Chart
Wizard pentru a realiza reprezentarea grafic ă a câmpului NumarCopii
din tabela Angajati .

Figura 3.50. Exemplu de formular realizat cu Chart Wizard

Proprietățile raportului și ale obiectelor con ținute vor putea fi
ulterior modificate prin comutarea în modul Design View .
Crearea rapoartelor utilizând Label Wizard este o alt ă
modalitate de realizarea a rapoartelor. Înregistr ările din tabelele și
interogările bazei de date pot fi folosite pentru ob ținerea de etichete.
Acest lucru este posibil cu ajutorul op țiunii Label Wizard prin
parcurgerea pa șilor propu și.
Microsoft Access permite manipularea rapoartelor prin
program , însă nu ș i crearea acestora. De exemplu, pot fi modificate pro-
prietățile obiectelor de control din cadrul unui raport astfel încât s ă fie
actualizat în mod dinamic. De asemen ea, rapoartele pot fi enumerate în
cadrul unor formulare, pot fi deschise , respectiv închise prin intermediul
programului.
Microsoft Access 2003 are câteva facilit ăți notabile în ceea ce
privește lucrul cu formularele și rapoartele:
1. se pot crea formulare și rapoarte pentru bazele de date SQL
Server prin intermediul Microsoft Access Project , folosind
aceleași instrumente ca și pentru bazele de date Microsoft
Access 2003;

2. se pot defini format ări condiționale pentru elemente de
formatare asociate unui grup de obiecte de control: m ărimea și
culoarea fontului, culoarea fundalului și alte informa ții
vizuale (meniul Format) ;
3. se pot defini tot din meniul Format grupă ri ale obiectelor de
control înrudite, în cadrul unui formular sau raport;
4. posibilitatea distri buirii rapoartelor și către utilizatorii care nu
au instalat Microsoft Access 2003, prin utilizarea formatului
instantaneu ( snapshot ). Acest format permite fie transmiterea
prin e-mail a unui raport, fie ch iar includerea lui într-o pagin ă
Web.
3.6. Macrocomenzi și module
3.6.1. Macrocomenzi. Crearea unei macrocomenzi
Microsoft Access 2003 furnizeaz ă două limbaje de programare
pentru automatizarea opera țiilor privind lucrul cu baze de date: comen-
zile macro și limbajul VB.
Programarea prin comenzi macro const ă în crearea unor programe
generate într-o fereastr ă specială de proiectare prezentat ă în figura 3.51.
Limbajul de programare al comenzilor macro are un vocabular destul de
limitat, dar cu o putere suficient ă pentru a reu și automatizarea execu ției
majorității aplicațiilor.
Scrierea de comenzi macro echivaleaz ă cu o serie de completă ri a
unor spații libere în care pot fi plasate obiecte, prin selectarea lor de pe o
listă derulantă.

Figura 3.51 . Fereastr ă de lucru în timpul gener ării unei comenzi macro

Cel mai important mod de a ini ția o comandă macro este cerin ța
ca ea să fie executată ca răspuns la un eveniment, ce poate fi al mouse-
ului, al tastaturii, al ferestrei de lucru, al datelor, al apari ției de erori, al
filtrării unor date, al tip ăririi.
Pentru crearea unei comenzi macro se parcurg urm ătoarele etape:
1. alegerea ac țiunilor pe care s ă le execute comanda macro;
2. alegerea evenimentului ce va lansa în execu ție comanda
macro;
3. deschiderea ferestrei de proiec tare a comenzilor macro prin
alegerea op țiunii de New;
4. completarea cu ac țiuni în ordinea impus ă de necesit ățile
obiectivului și specificarea argumentelor fiec ărei acțiuni;
5. salvarea ferestrei de comenzi.
3.6.2. Module
Spre deosebire de programele procedurale la care execu ția înseamn ă
parcurgerea unui traseu bine determinat a instruc țiunilor, în Microsoft
Access programarea este dirijat ă de evenimente, execu ția unei părți din
program efectuându-se în func ție de evenimentul ce intervine asupra unui
obiect component al aplica ției.

În programarea orientat ă pe obiecte și dirijată de evenimente,
textul surs ă este organizat în proceduri și funcții și este păstrat în module
componente ale bazei de date Microsoft Access.
În general un modul are urm ătoarea structur ă:
ƒ declarații
ƒ procedură sau funcț ie
ƒ ––––– ––––-
ƒ procedură sau funcț ie
Fiecare modul con ține o zonă de declara ții unde sunt declarate va-
riabilele și constantele accesibile pentru toate procedurile sau func țiile
componente ale modulului și una sau mai multe proceduri sau func ții. Un
exemplu de modul este redat în figura 3.52.

Figura 3.52. Exemplu de modul în Microsoft Access

După apartenen ța lor, modulele se pot grupa în urm ătoarele categorii:
module globale sau standard sunt module ce constituie obiec-
te distincte în baza de date, el e incluzând în zona de declara ții
variabile și constante, precum și proceduri sau func ții utilizate
sau utilizabile de c ătre orice componentă a aplicației. •

module ata șate sunt module create automat la generarea de
formulare sau rapoarte și atașate acestora. Toate declara țiile,
procedurile și funcțiile asociate acestor module sunt recunos-
cute numai în cadrul lor. Procedurile pot fi de tip eveniment
sau generale. •
• module clas ă reprezintă fundamentul program ării orientate pe
obiect și dirijată de evenimente utilizând Visual Basic. Modu-
lele clasă cuprind de obicei proceduri sau func ții pentru cre-
area de obiecte noi.
3.7. Interoperabilitatea Microsoft Access cu alte
aplicații
3.7.1. Integrare Microsoft Access în Microsoft Office
Datorită conectă rii prin drivere ADO, se poate realiza leg ătura și
cu alte aplica ții ce nu includ motoare de baz ă de date și ODBC, printre
care și Microsoft Excel 2003 . În acest fel, Microsoft Access 2003 poate
obține date din Microsoft Excel 2003, poa te crea în mod dinamic tabele
pe baza unei foi de calcul din Microsoft Excel 2003 și poate rula
proceduri aflate în Micros oft Excel dintr-o procedur ă Microsoft Access.
Posibilitățile pe care le are Microsoft Access 2003 de a lucra cu
Microsoft Excel 2003 se realizeaz ă prin program. Chiar dac ă procedurile
de declarare a extragerii de date din Microsoft Excel 2003 sunt lungi și
anevoioase, ele au o mare putere, permi țând chiar manevrarea datelor în
timpul extragerii.
Cea mai simpl ă cale de comunicare Microsoft Access 2003/
Microsoft Excel 2003 o reprezint ă capacitatea Microsoft Access 2003 de
a importa/exporta date din/în numeroase formate (inclusiv Microsoft Excel 2003), precum și posibilitatea alegerii analiz ării unei serii da date
din Microsoft Access 2003 cu aj utorul Microsoft Excel 2003.
Ca și în cazul Microsoft Excel 2003, lucrul cu Microsoft Word
2003 este extrem de facil pentru Microsoft Access 2003. Leg ăturile între
cele două aplicații pot fi realizate fie prin pr ogram (mai dificil de realizat,
dar mult mai puternic), fie folosind capacit ățile Microsoft Access 2003
de a exporta date în Microsoft Word 2003 pentru a putea fi mai bine pre-
zentate. Dac ă prima op țiune se rezolv ă prin scrierea de instruc țiuni care

să poată exporta în Microsoft Word 2003 toate tipurile de rapoarte din
Microsoft Access 2003, cea de-a doua se realizeaz ă prin apelarea la me-
niu ș i alegerea op țiunii de publicare cu Microsoft Word 2003.
Microsoft Ou tlook 2003 are propriile lui standarde și seturi de
fișiere, precum calendarul, contactele, e- mail, jurnalul etc. Spre deosebire
de Microsoft Excel 2003 și Microsoft Word 2003, Microsoft Outlook 2003
nu poate fi apelat din Microsoft Acce ss 2003 decât printr-un program, ceea
ce face mai dificil ă crearea de leg ături între cele dou ă aplicații. Cu toate
acestea, folosind opț iunea lui Microsoft Access 2003 de a salva rapoartele
sub formă snapshot , ele pot fi trimise apoi prin e-mail .
3.7.2. Legătura Microsoft Access cu alte SGBD
Una dintre caracteristicile principa le ale unui sistem de gestiune a
bazelor de date const ă în posibilitatea de a importa/exporta date în/din
fișiere de formate diferite.
Microsoft Access 2003 permite importarea datelor din:
Microsoft Access, dBase III, dBase IV, dBase 5, FoxPro sau orice baz ă
de date disponibil ă prin ODBC, precum ș i din alte fiș iere (de tip text,
Microsoft Excel, HTML etc.) – figura 3.53.
Dacă fișierul sursă este o baz ă de date Microsoft Access, atunci se
pot importa toate tipurile de obiecte ale bazei de date (tabele, interog ări,
formulare etc.).

Figura 3.53. Importul datelor în Microsoft Access

Dacă sursa este constituit ă dintr-un fi șier bază de date dBase
(.dbf), FoxPro (. dbf) / Paradox(. db), atunci fi șierele index asociate(. ndx
sau .mdx pentru dBase, . idx sau .cdx pentru FoxPro, .px pentru Paradox)
trebuie să fie în acela și folder cu fi șierul de date pentru a fi importa ți și
indecșii. Dacă fișierul de date con ține date de tip memo , atunci fi șierele
memo asociate (. dbt) trebuie s ă fie disponibile în acela și folder.
Dacă sursa provine dintr-o foaie de calcul (Mic rosoft Excel, Lotus
etc.), atunci toate celulele importate trebuie s ă conțină valori fixate, celu-
lele care con țin formule fiind importate ca celule vide.
Pentru importul fi șierelor de tip text în Microsoft Access, utiliza-
torul trebuie s ă delimiteze datele ce vor forma câmpurile din noua tabel ă.
Exportarea datelor este posibil ă în orice format din care se
poate face și importarea lor – figura 3.54.

Figura 3.54. Exportul datelor din Microsoft Access

Microsoft Access 2003 permite atașarea tabelelor în aplica ții.
Tabelele legate pot fi folosite pentru a facilita lucrul în cadrul unei re țele
de calculatoare. Tabele legate sunt leg ături dinamice c ătre obiectele de
tip tabel aflate în alte baze de date.
Se pot crea leg ături chiar și spre fiș ierele de tipuri diferite, de tipul
celor suportate pentru importul de da te: Microsoft Access, dBase, FoxPro,

Microsoft Excel, Paradox, HTML etc.; u tilizatorii pot actualiza datele din
tabele legate, dar nu pot face modific ări de structur ă – figura 3.55.

Figura 3.55. Selectarea bazei de date surs ă

Această facilitate este frecvent folosit ă pentru crearea unor apli-
cații de tip front-end/back-end: pe server-ul re țelei se vor afla tabelele
sursă (componente back-end) fie într-o baz ă de date Microsoft Access,
fie în fișiere de tipul celor recunoscute pentru importul de date, iar pe
stațiile de lucru (workstations) se vor reg ăsi fișierele Microsoft Access
(componente front-end) ce con țin celelalte obiecte ale aplica ției (intero-
gări, formulare, rapoarte, module), precum și legături către tabelele aflate
în baza de date de pe server. În felul acesta, to ți utilizatorii locali vor a-
vea acces la acelea și date, sta țiile de lucru nu vor fi supraînc ărcate cu ba-
za de date complet ă, iar traficul de pe re țea se va reduce suficient de mult.
3.7.3. Tehnologiile Microsoft Access 2003 pentru Internet
Având în vedere explozia Internetului și necesitatea oferirii unui
volum din ce în ce mai mare de date în timp real, s-au fă cut mari
progrese în dezvoltarea de instrumente care s ă permită realizarea acestor

deziderate. În acest context, Microsoft Access 2003 ofer ă instrumente de
dezvoltare a paginilor Web care exploateaz ă bazele de date.
Practic, modul de realizare a unei pagini HTML cu acces la baza
de date ( Data Microsoft Access Pages ) este identic cu cel de creare a for-
mularelor și rapoartelor Microsoft Acces s 2003. În acest fel, construc ția
unei astfel de pagini este simplificat ă extrem de mult, nemaifiind
necesare cuno ștințe dintr-un limbaj de scriptin g pentru utilizatorul unei
baze de date.
Microsoft Access 2003 ofer ă tehnologii prin intermediul c ărora
pot fi publicate datele în paginile Web (unele dintre ele au fost disponi-
bile și în versiunile anterioare ale ac estui mediu), cum sunt pagini Web
statice, utilizarea rapoartelor salv ate în format snapshot, HTX-IDC,
Active Server Pages și Data Microsoft Access Pages.
Paginile Web statice se constituie printr-un export al datelor în
format HTML, format în care pot fi exportate tabele, interog ări,
formulare și rapoarte. Opera ția se poate realiza prin alegerea din cadrul
meniului File a opțiunii Export. Tehnologia are dezavantajul lipsei
legăturii între fi șierul HTML exportat și baza de date. În acest caz, pentru
vizualizarea modific ărilor realizate în baza de date dup ă crearea paginii,
este necesar ă o nouă operație de export. Solu ția este indicată pentru
paginile Web care prezint ă modific ări la intervale de timp mai
îndelungate.
Utilizarea rapoartelor salvate în format snapshot , chiar dac ă
nu este o tehnologie în sine deoarece realizeaz ă în principiu cam acela și
lucru cu tehnologia prezentat ă mai sus, include o facilitate din punctul de
vedere al celui ce are nevoie de vizualizarea anumitor date.
HTX-IDC este prima tehnologie dezvoltat ă de Microsoft pentru
realizarea conexiunilor server baze de date – client browser Web;
tehnologia include parcurgerea urm ătoarelor etape:
browserul transmite serverului Web o cerere de interogare a
bazei de date sub forma unui fi șier IDC, fișier text ce include
toate datele de apelare a bazei de date și conține și interogarea
în limbajul SQL; •
• serverul Web prime ște cererea și transmite fi șierul IDC către
Internet Database Conectivity care execută interogarea bazei
de date și verifică dreptul de acces prin intermediul driverelor
ODBC;

Internet Database Conectivity converte ște datele într-un fi șier
HTML și le transmite clientului prin intermediul serverului Web. •
Active Server Pages este cea de-a doua tehnologie dezvoltat ă de
Microsoft pentru realizarea conexiunilor server baze de date–client
browser Web, aducând câteva îmbun ătățiri notabile. Astfel, este oferită
posibilitatea de a include într-un singur fi șier, atât codul HTML cât și
scripturile. De asemenea, suport ă ca limbaje script, atât VB Script cât și
JavaScript . În principiu însă , modul de transmitere a datelor server-client
este acela și cu cel din tehnologia anterioar ă, oferind și posibilitatea
executării de scripturi.
Data Microsoft Access Pages este cea mai sofisticat ă dintre
tehnologiile dezvoltate de Microsoft pe ntru realizarea conexiunilor server
baze de date–client browser Web implementat ă odată cu Microsoft
Access 2000. Poate lucra atât cu b azele de date Microsoft Access cât și
cu cele SQL Server . Faciliteaz ă crearea și accesul rapid la paginile HTML
interconectate la baza de date. Prin intermediul acestor pagini se poate realiza vizualizarea, editar ea, actualizarea, filtrarea și ștergerea datelor. În
paginile HTML create prin aceast ă tehnologie, pot fi integrate nu numai
obiecte Microsoft Access, ci și tabele, grafice și obiecte Pivot Table din
Microsoft Excel. Modul de creare a Data Microsoft Access Pages este
similar cu cel al realiz ării obiectelor clasice din suita Microsoft Access
2003, existând atât programele Wizard cât și posibilitatea cre ării
manuale a acestor obiecte. Elementul de baz ă în crearea formularelor de
editare a bazei de date îl constituie toolbar-ul Record Navigation , prin
intermediul c ăruia se selecteaz ă înregistrările și se transmit modific ările
realizate asupra bazei de date. Aceast ă tehnologie reu șește să păstreze
legătura permanent ă între paginile Web create și baza de date.
Se poate aprecia c ă actualele tehnologii acoper ă toate cerin țele le-
gate de publicarea bazelor de date în pagini HTML . În general îns ă, solu-
ția utiliză rii bazelor de date Microsoft Access 2003 este util ă în dezvol-
tarea unor proiecte de mai mic ă anvergur ă, pentru servere Web cu trafic
scăzut și necesități de securitate nu foarte ridicate.

Similar Posts