Sunteți pe pagina 1din 64

1.1.

Procesul de prelucrare automata a datelor


Pentru realizarea procesului de prelucrare automat a datelor este necesar s existe urmtoarele elemente:
un sistem de echipamente de calcul electronic;
un sistem de operare (soft de baz) care s faciliteze i s realizeze interfaa calculator-utilizator;
un soft de aplicaie format din programe care s asigure prelucrarea informaiilor;
un set de date ce concretizeaz informaiile de prelucrat.
Sistemul de echipamente are n componena sa unul sau mai multe calculatoare, eventual legate n reea, cu
o configuraie corespunztoare obiectivelor propuse.
Sistemul de operare instalat pe calculatoarele ce compun sistemul de echipamente asigur o interfa ct
mai prietenoas, fiind preferate sistemele de operare interactive de genul WINDOWS 95/98, XP.
Prelucrarea informaiilor culese i stocate pe suporturile de informaie ataate unitilor aflate n
configuraia sistemului de echipamente este asigurat de ctre programe scrise, de regul, sub sisteme de gestiune
a bazelor de date, cel mai eficient mod de organizare a informaiilor pentru aplicaiile cu caracter economic.
Datele supuse prelucrrilor sunt preluate n cele mai multe cazuri din documentele primare vehiculate n
sistemul informaional. Ele trebuie organizate corespunztor caracteristicilor i facilitilor oferite de ctre
echipamentele din dotare, obiectivele urmrite i structurii bazelor de date prelucrate de ctre programele ce
constituie softul de aplicaie.
In cadrul unui sistem informatic, procesul de prelucrare automat a datelor presupune parcurgerea
urmtoarelor etape:
1) Pregtirea datelor n vederea culegerii
Aceast etap presupune proiectarea unor documente n conformitate cu obiectivele stabilite pentru
prelucrare (dac este vorba de documente interne sistemului) sau codificarea informaiilor din documentele
primare tipizate. Tot n aceast etap trebuie inclus i o activitate de importan major n lucrrile de eviden
gestionar-contabil: nscrierea pe documentele primare a formulelor contabile care s evidenieze micrile
contabile aferente fiecrei nregistrri din documentul primar. Aceast activitate este cunoscut i sub numele de
contare. Aceste pregtiri au scopul de a uura sarcina lucrtorilor din compartimentele care asigur culegerea i
introducerea datelor pe suporturile tehnice de informaie din configuraia echipamentelor electronice. Se
recomand pstrarea semnificaiei economice a documentelor tipizate i adaptarea programelor de culegere i a
structurii bazelor de date la structura documentelor primare.
2) Culegerea datelor si stocarea lor pe suporturile tehnice de informaie
Aceast etap presupune, de cele mai multe ori, activiti de operare n scopul introducerii datelor primare
de la tastatura calculatorului sau a terminalelor. Exist i situaii n care datele pot fi preluate de pe alte suporturi
de informaie accesibile calculatorului de lucru i care provin din alte aplicaii sau prin preluarea n timp real a
acestor informaii din procesul supus analizei.
In cazul culegerii datelor de la tastatur se recomand utilizarea unor programe de tip interactiv, cu
machete de culegere care s uureze activitatea operatorului i s nu necesite cunotine de informatic.
3) Prelucrarea datelor stocate pe suporturile de informaie
Aceast etap presupune activarea unor programe de aplicaie care acceseaz bazele de date aflate pe
suporii externi de informaie. Evident c prelucrarea acestor date presupune transferul lor de ctre programele
aplicative n memoria intern, realizarea operaiilor indicate prin program, prin intermediul funciilor
microprocesorului, depunerea rezultatelor obinute n bazele de date supuse actualizrilor i aflate pe suporturile
de informaie sau generarea rapoartelor ce constituie situaii finale, fie pe suporturi din memoria extern, fie direct
la dispozitive de ieire (de exemplu imprimantele sau ecranul monitorului).
4) Interpretarea de ctre compartimentele de decizie a rezultatelor obinute n urma prelucrrilor
Aceasta este o etap care ncheie ciclul de prelucrare automat a datelor i n urma ei se transmit dispoziii,
se iau decizii pentru ameliorarea procesului condus.
Este evident ca n cadrul unui proces de prelucrare automat a datelor, aceste etape se reiau ciclic, ori de
cate ori apar modificri n procesul condus.
1.2. Organizarea datelor n fiiere
Pentru a putea fi supuse procesului de prelucrare automat, datele trebuie s fie stocate n memoria extern
a calculatorului, pe suporturi tehnice de informaie cei mai adecvai (de regul discuri magnetice sau compactdiscuri).
Memorarea pe suporturi tehnice de informaie se realizeaz sub form de colecii de date numite fiiere.
Reamintim definiia clasic i cea mai general a noiunii de fiier: o nlnuire de caractere pn la

ntlnirea marcatorului de sfrit de fiier (^Z). Aceast definiie nu satisface ns integral caracteristicile fiierului
din punctul de vedere al domeniului de activitate financiar-contabil i al informaticii de gestiune.
Astfel, vom redefini fiierul ca fiind o colecie de date omogen din punct de vedere al structurrii
informaiilor, dar eterogen n privina coninutului. n aceast accepiune, fiecare component a fiierului, pe care
o vom numi nregistrare sau articol, are aceeai structurare n cmpuri (considerate ca elemente componente ale
nregistrrii). n acest sens am susinut n definiie caracteristica de omogenitate. Este ns evident c valorile
memorate n fiecare din cmpurile nregistrrilor fiierului difer, ceea ce confer caracterul eterogen al
coninutului unui fiier.
Pentru a fi pragmatici n prezentarea conceptului de fiier, s considerm urmtorul exemplu: se dorete
stocarea informaiilor referitoare la studenii unui an de studiu. Pentru fiecare student se dorete memorarea
urmtoarelor informaii: numr matricol, nume, iniiala tatlui, prenume, cod numeric personal, facultate, an de
studii, grupa, domiciliul stabil, telefon, adresa e-mail. Fiecare dintre componentele fiierului STUDENT destinat
memorrii datelor personale ale studenilor unei universiti, pe care o vom numi n continuare nregistrare
(articol), va conine informaiile referitoare la o categorie informaional, n cazul de fa un student. Toate
nregistrrile fiierului vor avea astfel aceeai structur, de aceea am afirmat c din punct de vedere structural
fiierul este o colecie omogen. Prile componente ale unui articol, corespunztoare unitilor informaionale ale
acestuia, le vom numi cmpuri. Fiecare dintre aceste cmpuri corespunde uneia dintre unitile categoriei
informaionale ce constituie datele personale enumerate anterior pentru un student. Prin urmare ele vor fi diferite
de la o nregistrare la alta, adic putem afirma c din punctul de vedere al coninutului fiierul este o colecie de
date eterogen.
Din punctul de vedere al organizrii datelor memorate, fiierele pot fi clasificate n cel puin dou categorii:
- organizare secvenial
- organizare secvenial-indexat
Fiiere de organizare secvenial se caracterizeaz prin faptul c nregistrrile sunt memorate una dup
cealalt, n ordinea introducerii lor i tot n aceast ordine pot fi accesate. Vom reine faptul c fiierele de
organizare secvenial pot fi accesate doar secvenial.
Fiierele de organizare secvenial-indexat se caracterizeaz prin faptul c, dei nregistrrile sunt
memorate fizic n ordinea n care au fost introduse, din punct de vedere logic ele sunt considerate aezate n ordine
cresctoare (sau descresctoare) a valorilor unui cmp sau a unei expresii de cmpuri, numit cheie de indexare.
Acest lucru este posibil datorit faptului ca un astfel de fiier are, n mod automat, ataat o tabel de indeci.
Aceasta conine valorile cheii de indexare n ordine cresctoare (sau descresctoare) i adresele (numrul de ordine
din aezarea fizic) n baza crora pot fi regsite nregistrrile n fiier. n felul acesta la o parcurgere a fiierului,
nregistrrile sunt accesibile n ordinea indicat de tabela de indeci. De remarcat faptul c organizarea indexat a
fiierelor permite att accesul direct la informaia solicitat, pe baza valorii cheii de indexare, ct i accesul
secvenial.
Relativ la fiierele de date putem vorbi de urmtoarele tipuri de operaii:
creare
actualizare
adugare
modificare
tergere
exploatare
Operaia de creare implic, din punctul de vedere al utilizatorului, aceeai aciune: introducerea valorii
cmpurilor din una sau mai multe nregistrri n ordinea dorit. Calculatorul va memora aceste nregistrri n ordinea
n care au fost introduse. Pentru fiierele de organizare secvenial, operaia de creare nu implic alte operaii
suplimentare din partea calculatorului. n schimb, pentru fiierele de organizare secvenial-indexat, calculatorul va
crea, n mod automat, i tabela de indeci corespunztoare, conform criteriului de indexare transmis de ctre
utilizator. Vom exemplifica modul de derulare a acestui tip de operaie, considernd fiierul STUDENT, dar cu o
structur simplificat: NRM, NUME, INIT, PREN, FAC, GR (respectiv, numrul matricol, nume, iniial tat,
prenume, facultate, grupa). Vom considera c, pentru crearea fiierului STUDENT, se introduc datele corespunztor
la cinci nregistrri, conform tabelului din fig. 6.2.1.
De remarcat c n capul de tabel din fig. 6.2.1. avem nscrise numele cmpurilor ce compun o nregistrare,
iar n interiorul tabelului sunt datele ce concretizeaz fiecare din cele cinci nregistrri. Prima coloan, cea pe fond
mai nchis, i anume Adresa, este gestionat doar de calculator, care atribuie n mod automat cte o adres (numr

de ordine) pentru fiecare nregistrare.


Adresa

NRM

NUME

INIT

PREN

FAC

GR

1
2
3
4
5

1023
1021
1001
1024
1011

Ilinca
Barbulescu
Ion
Marinescu
Anghel

T
Gh
V
D
C

Marian
Mihai
Maria
Lavinia
Mircea

CF
CF
CF
CF
CF

101
102
101
102
101

Fig. 6.2.1.
n cazul n care fiierul are organizare secvenial, accesul la datele memorate de ctre acesta se poate
face doar secvenial, n sensul ca fiierul pune la dispoziia utilizatorului nregistrrile acestuia n ordinea n
care au fost memorate.
Actualizarea n acces secvenial implic operaii ce trebuie indicate explicit n program. Astfel,
adugarea se face prin nscrierea, n nregistrarea urmtoare ultimei deja existente a fiierului de actualizat, a
informaiilor din zona tampon ataat fiierului. Modificarea presupune lucru cu dou fiiere: cel de actualizat, sl numim n continuare FB i cel de manevr, convenional denumit FM. Ambele vor fi descrise i gestionate de
ctre program. Se copiaz nregistrrile din FB, una cte una, n FM, pn la ntlnirea nregistrrii de modificat.
Aceasta se transfer n zona tampon, se supune modificrilor conform algoritmului indicat i dorinelor
utilizatorului, dup care se transfer n FM. Se copiaz restul nregistrrilor din FB n FM. n fine, se redenumete
FM, acesta lund locul vechiului FB (fiierul FM se prsete). tergerea se realizeaz similar modificrii, cu
deosebirea c nregistrarea de ters se omite la copierea din FB n FM.
n cazul n care fiierul a fost creat cu organizare secvenial-indexat, sau a fost indexat ulterior creierii,
accesul la datele memorate de ctre acesta este posibil a se realiza att secvenial, ct i direct.
Vom detalia, pe exemplul considerat, modul n care este realizat accesul direct, att din punctul de vedere
al utilizatorului, ct i din punctul de vedere al calculatorului, considernd c fiierul a fost indexat dup valorile
cmpului NRM:
utilizatorul trebuie s indice programului de cutare doar valoarea cheii de indexare dup care se
dorete identificarea nregistrrii;
calculatorul caut aceast valoare n tabela de indeci, care este asociat fiierului; pentru exemplul
considerat aceasta are coninutul din figura 6.2.2.
Adresa
3
5
2
1
4

Valoare cheie de indexare


1001
1011
1021
1023
1024
Fig. 6.2.2.

Cutarea n tabela de indeci se poate face folosind diferii algoritmi de cutare rapid, cum ar fi cel al
njumtirii intervalului de cutare cutare binar (vom reveni cu prezentarea acestui algoritm;
trebuie reinut doar faptul c el permite o cutare n lista de valori a cheii de indexare mult mai rapid
dect cutarea secvenial). Dac valoarea cutat pentru cheia de indexare este gsit, atunci tabela de
indeci ofer sistemului de calcul electronic posibilitatea regsirii n acces direct a nregistrrii cutate:
din tabelul de indeci calculatorul preia adresa acesteia. Dac valoarea cutat nu este gsit,
calculatorul se gsete n situaia de cheie invalid, iar programul care asigur prelucrarea n acces
direct trebuie s trateze i aceast situaie.
Actualizarea n acces direct a fiierelor de organizare secvenial-indexat presupune realizarea uneia
dintre operaiile de adugare, modificare sau tergere.
Adugarea unei noi nregistrri presupune introducerea, de ctre utilizator, a datelor pentru nregistrarea
de adugat, iar pentru calculator urmtoarele operaii: adugarea nregistrrii la sfritul fiierului i introducerea
n tabela de indeci, la locul potrivit, a valorii cheii pentru noua nregistrare i a adresei acesteia. Pentru exemplul
considerat, fiierul i tabela de indeci vor arta ca n fig. 6.2.3., presupunnd c se dorete adugarea nregistrrii
cu urmtorul coninut:

Tabela de indeci:
Adresa
3
5
6
2
1
4

1015

Ilin

Maria

CF

101

Adresa

NRM

NUME

INIT

PREN

FAC

GR

1
2
3
4
5

1023
1021
1001
1024
1011

Ilinca
Barbulescu
Ion
Marinescu
Anghel

T
Gh
V
D
C

Marian
Mihai
Maria
Lavinia
Mircea

CF
CF
CF
CF
CF

101
102
101
102
101

1015

Ilin

Maria

CF

101

Valoare cheie de indexare


1001
1011
1015
1021
1023
1024
Fig. 6.2.3.

Modificarea unei nregistrri existente presupune realizarea urmtoarelor aciuni: utilizatorul trebuie s
indice valoarea cheii de indexare corespunztoare nregistrrii de modificat. Calculatorul face cutarea n acces
direct a nregistrrii corespunztoare i n caz de succes n cutare, transfer datele din fiier n zona tampon
asociat nregistrrii n memoria intern a calculatorului. Utilizatorul modific valorile din zona tampon i apoi
comand rescrierea nregistrrii modificate n fiier. Calculatorul va nscrie aceast nregistrare n acelai loc din
care a luat-o. Situaii de chei invalide la modificare pot fi urmtoarele: la cutare, s nu existe nici o nregistrare
cu valoare indicat de utilizator pentru cheia de indexare, iar la rescriere s fi fost alterat valoarea cheii de
indexare din zona tampon.
tergerea unei nregistrri existente se poate face n acces direct, cu respectarea aciunilor prezentate la
modificare, cu deosebirea c nu se mai fac modificri i nici rescrieri. n urma unei tergeri, calculatorul opereaz
modificri att n fiierul de date, ct i n tabela de indeci: n fiierul de date invalideaz contorul de tergere al
nregistrrii, iar din tabela de indeci terge fizic valoare cheii i adresa nregistrrii de ters.
Exploatarea fiierelor
Operaia de exploatare a fiierelor presupune utilizarea datelor memorate n nregistrrile acestora.
n general, aceast operaie de exploatare a fiierelor se materializeaz prin obinerea de situaii finale de
raportare sau a unor ecrane care s permit interogarea interactiv a fiierelor.
n cazul fiierelor cu organizare secvenial, prelucrrile i obinerea rezultatelor finale pe suport hrtie,
magnetic sau pe ecranul monitorului comport, fie parcurgerea secvenial a acestora, fie supunerea lor la operaii
de sortare care s asigure ordonarea informaiilor conform necesitilor.
Pentru fiierele cu organizare secvenial - indexat pot fi utilizate programe care s asigure o interogare
mai rapid a acestora, folosind facilitatea accesului direct. Situaiile finale de raportare pot fi obinute mai rapid,
mai uor, datorit posibilitii de a realiza, prin program, legturi rapide ntre fiierele de organizare indexat.
1.3. Organizarea datelor n baze de date
n paragraful anterior am prezentat n detaliu conceptul de organizare a datelor n fiiere i modul de
manipularea a informaiilor memorate n acestea de ctre utilizatori. Fiierele sunt colecii de date ce pot fi
manipulate de ctre un mare numr de utilizatori ce au o viziune unic asupra datelor.
O baz de date poate fi privit ca un ansamblu de date ce poate fi manipulat de ctre mai muli utilizatori
cu viziuni diferite asupra datelor. Din punct de vedere strict tehnic, putem defini o baz de date ca pe o colecie de
fiiere ce conin cmpuri care permit realizarea legturilor dintre acestea i prin intermediul programelor, dar mai
cu seam independent de acestea. Structura unei baze de date depinde foarte mult de software-ul utilizat la crearea
bazei de date.

Putem s definim baza de date i mai simplu: o colecie de fiiere corelate. Structurarea acestui ansamblu
de fiiere se realizeaz prin proiectarea schemei conceptuale a bazei de date.
Construirea schemei conceptuale a unei baze de date presupune parcurgerea urmtoarelor etape:
E1: Elaborarea listei tuturor informaiilor ce se doresc a fi memorate n baza de date;
E2: Construirea entitilor bazei de date prin mprirea informaiilor din lista obinut n etapa E1 n
aceste entiti, cu respectarea principiului redundanei minime a datelor (prin entitate vom nelege fiier sau
tabel care are nregistrri cu o anumit structurare n atribute (cmpuri));
E3: Determinarea caracteristicilor atributelor ce compun nregistrrile (articolele) entitilor (fiierelor),
prin stabilirea naturii i lungimii acestora;
E4: Identificarea legturilor ce pot i trebuie s fie stabilite ntre entitile bazei de date (acestea se
realizeaz prin intermediul unor cmpuri sau expresii de cmpuri de legtur).
Sistemul de programe care permite crearea bazei de date prin parcurgerea celor 4 etape anterior precizate,
popularea bazei de date cu realizrile atributelor, dezvoltarea de aplicaii care s valorifice datele, s asigure
interogarea acestora sau s permit punerea lor la zi, poart numele de Sistem de Gestiune a Bazelor de Date
(SGBD). Acestea constituie n fapt o interfa ntre utilizator i SGF-ul sistemelor de operare.
Orice SGBD trebuie s conin un limbaj de descriere a datelor (LDD), unul care s permit interogarea
bazei de date prin transmiterea de cereri de ctre utilizator (LC), iar altul care s permit efectuarea de prelucrri
asupra bazelor de date (LPD).
Conform metodologiei ANSI, fiecrei baze de date trebuie s i se asocieze trei nivele funcionale, dup
cum urmeaz:
nivelul conceptual reprezentat prin schema bazei de date, care reine structurarea acesteia n
entiti, a entitilor n atribute;
nivelul logic cuprinde viziunile utilizatorilor asupra bazei de date, exprimate prin programe proprii;
nivelul fizic cuprinde reprezentarea datelor pe suport tehnic de informaie.
Pentru a putea dezvolta aplicaii ce utilizeaz baze de date este necesar s definim mai clar o serie de
noiuni anterior utilizate n prezentarea conceptului de baz de date:
Prin entitate vom nelege un fenomen, un obiect, un proces din lumea real, despre care dorim s avem
informaii n cadrul unui sistem. Obiectele (atributele) reprezint componente ale entitilor, iar datele ce
concretizeaz obiectele (atributele) le vom numi realizri ale acestora sau, mai simplu, date. Pentru o mai bun
nelegere a acestor noiuni, o s considerm urmtorul exemplu de baz de date: baza de date cu numele
FACULTATE, necesar stocrii informaiilor cu privire la o facultate a unei universiti,

In exemplul considerat anterior am pus n eviden componentele unei baze de date, avnd drept nume
FACULTATE, preciznd elementele care o alctuiesc: entitate, atribute, date. Pentru ca aceast baz de date s
poat fi util i s permit construirea cu uurin a unei aplicaii care privete evidena situaiei colare a
studenilor facultii, dm n continuare o descrie a atributelor celor patru entiti.
PROFESOR:
Marca
N (5)
Nume
C (20)
Prenume
C (25)
GradDidactic C (10)
CodDisciplin N (3)
NOTE
Matr
N (5)
CodDisciplin N (3)
Nota
N (2)
DISCIPLINA
CodDisciplin N (3)
DenDisciplin C (20)
STUDENT
Matr
N(5)
Nume
C(20)
Pren
C(25)
AnSt
C(3)
Gr
N(3)
Pentru a respecta definiiile date anterior bazei de date i, n acelai timp, pentru a asigura o exploatare mai
uoar a acesteia, ntre entitile bazei de date se vor stabili urmtoarele relaii:
PROFESOR NOTE prin cmpul de legtur CodDisciplin, relaie de tip 1:1, dac presupunem c un profesor
pred o singur disciplin.
DISCIPLINA NOTE prin cmpul CodDisciplin, relaie de tipul 1:n (unul-la-mai-muli), acelai cod de
disciplin putnd aprea de mai multe ori n entitatea NOTE (o dat pentru fiecare student).
STUDENT NOTE prin cmpul Matr, relaie de tipul 1:n, un student avnd memorate cel puin o not la fiecare
disciplin.
Vom reveni cu amnunte legate de conceptul de baz de date n contextul programrii orientat pe obiecte a
bazelor de date relaionale.

1.1.PrezentareageneralaMicrosoftAccess

Aplicaiile economice se caracterizeaz prin volumul mare de date ce se supun


prelucrrilor. Proiectarea i realizarea acestor aplicaii se poate face fie prin utilizarea de
limbajele evoluate de programare (de exemplu VisualBasic) care fac apel la fiiere independente,
legtura ntre acestea fiind asigurat prin program, fie prin apelarea la Sisteme de Gestiune a
Bazelor de Date (de exemplu Dbase, FoxPro, Access). Bazele de date reprezint, conform
definiiei clasice, colecii de date avnd o structur precizat i ntre ale cror entiti (numite
fiiere sau tabele) se pot realiza legturi, independente de program, prin intermediul unor
cmpuri sau expresii de cmpuri.
Spre deosebire de SGBD-urile clasice, MICROSOFT ACCESS permite memorare n
aceeai colecie, n cadrul unui fiier de extensie mdb, a urmtoarelor tipuri de obiecte: structuri
de date grupate n tabele (fiiere), formulare de vizualizare i actualizare a datelor memorate n
tabele, interogri ale entitilor bazei de date, rapoarte, macrouri i module.
MICROSOFT ACCESS este un SGBD care face parte din pachetul de programe
Microsoft Office, alturi de WORD, EXCEL i POWERPOINT. Accesarea acestuia se poate
face n mai multe moduri. Cel mai utilizat este urmtorul: apelarea butonului START, opiunea
All Programs, funcia Microsoft Access. Dup accesare, pe ecranul monitorului apare fereastra
de deschidere ACCESS.

Fig. 12.1.1.

Fereastra din fig. 12.1.1. se obine din fereastra de deschidere Microsoft Access cu
opiunea Create a New Database Using, butonul radio Blank Dadabase i apoi butonul de
comand OK. Se deschide astfel fereastra Open, se introduce numele bazei de date n caseta de
dialog File name i apoi se acioneaz butonul Create.
Fereastra de lucru care sa obinut, are n bara de titlu numele SGBDului i al bazei de date
(Microsoft Access [bd_ex : Database]). Sub bara de titlu se gsesc barele de meniuri i de
instrumente,alcrorrolesteacelaicancazulferestreiVBsauaoricruialtmediudelucru
Windows.Putemutiliza,deasemenea,baracarepermitealegereaunuiadintrecele7tipuride
obiecte care pot fi memorate n cadrul fiierului de extensie mdb: Tables (tabele), Queries
(interogri), Forms (formulare), Reports (rapoarte), Macros (macrouri), Modules (module),
Pages (pagini). Le vom prezenta pe fiecare dintre acestea, cu exemple concrete de crearea a
unoraplicaiisubSGBDMICROSOFTACCESS.

O baz de date ACCESS conine obligatoriu, cel puin un tabel. Acesta poate fi definit n
acelai mod ca i un fiier, adic o colecie de date omogen din punctul de vedere al structurii i
eterogen n ceea ce privete coninutul. El poate fi privit ca un tablou matricial care memoreaz
pe coloane cmpurile ce compun fiecare linie a tabloului. Toate liniile tabelului (pe care le vom
numi n continuare nregistrri) au aceeai structurare n elemente componente (pe care le vom
numi n continuare cmpuri).
Pentru generarea tabelelor n ACCESS vom alege tipul de obiect Tables din fereastra
bazei de date. Pentru crearea unui tabel nou, se va deschide o nou fereastr la selectarea cu
mouse-ul a butonului New.

Fig. 12.2.1.

Din fereastr New Table (fig.12.2.1) se selecteaz una dintre opiunile prezente n lista
aflat n dreapta ei: Datasheet View, Design View, Table Wizard, Import Table sau Link Table.

Fig. 12.2.2.

II.1.CreareastructuriilogiceatabelelornDesignView

Cel mai comod i mai utilizat mod de lucru este Design View. l prezentm n continuare,
lsnd ca exerciiu pentru cititor celelalte moduri de lucru pentru crearea tabelelor n Access.
Dac se folosete opiunea Design View (fig.12.2.1.), atunci se deschide fereastra
prezent n fig. 12.2.2.
n macheta care apare pe ecran se introduc: numele cmpului (Field Name), tipul datei ce
se va memora n cmpul respectiv (Data type) si descrierea semnificaiei datei memorate n

cmpul respectiv (Descriptions). Pentru fiecare dintre informaiile asociate unui cmp avem la
dispoziie explicaia suplimentar aflat n caseta din dreapta jos. Din caseta din stnga jos putem
stabili proprietile generale ale cmpului a crei denumire a fost introdus n coloana Field
Name, dup cum urmeaz:
Field size
Format
Input Mask
Caption

Default
Value
Validation
Rule
Validation
Text
Required
Indexed

Lungimea n caractere a cmpului respectiv


sau tipul de dat dintr-o clas de tipuri de date
Forma de afiare a valorii cmpului
Coduri de restricionare a introducerii de
valori n cmpul curent
Etichet pentru cmpul curent ce va putea fi
folosit pentru referirea lui n cadrul unei
forme; n mod implicit, aceast etichet este
chiar numele cmpului
Valoarea implicit ce va fi nscris n cmpul
respectiv la introducerea unui nou articol
O expresie ce reprezint o regul de validare
a valorii ce poate fi introdus ca realizare a
cmpului
Mesajul de eroare ce se va afia n cazul n
care n cmp se introduce o valoare care nu
respect regula de validare (Validation Rule)
Permite setarea la da sau nu a permisiunii
de a introduce date n cmpul curent
Indexarea, cu sau fr duplicare a tabelei
dup valorile cmpului (ceea ce implic
sortarea logic a nregistrrilor tabelei dup
valoarea acestui cmp)

Tipurile de dat posibile pentru valorile cmpurilor pot fi alese din lista ascuns care se
deschide prin click de mouse n dreapta casetei Data Type conform cu cele precizate n
continuare:
Text (Default): constante alfanumerice, numrul maxim de caractere fiind de 255. El
poate fi explicit fixat din proprietatea FieldSize.
Memo: constante alfanumerice de maximum 65535 caractere, de lungime variabil.
Number: dat numeric ce poate fi utilizat n construirea expresiilor aritmetice. Tipul
explicit de dat din aceast categorie de tipuri de date poate fi stabilit din caseta de proprieti
generale dup cum urmeaz:
Byte(cuvnt)
Integer(ntreg)
LongInteger(ntreglung)
Single(realnsimplprecizie)
Double(realndublprecizie)

[0,255]
[32768,32767]
[2147483648,2147483647]
[3.4*1038,3.4*1038]
[1.8*10308,3.8*10308]

Date/Time: dat calendaristic sau timp (ora i minutul).

Currency: date folosite n calcule matematice de maximum 15 cifre aliniate la stnga,


dreapta sau pe marca zecimal.
AutoNumber: o secven unic incrementat cu 1, numr sau numr aleator atribuit de
Microsoft Access la adugarea unei noi nregistrri n tabel. Cmpurile de acest tip nu pot fi
actualizate.
Yes / No: cmpuri care nu pot lua dect una dintre valorile Da/Nu, Adevarat / Fals.
OLE Object: un obiect (cum ar fi o foaie de calcul Microsoft Excel, un document
Microsoft Word, grafice, sunete, sau alte date binare incluse ntr-un tabel Microsoft Access).
HyperlinkText : combinaii de texte i numere memorate ca text i folosite ca o adres
hyperlink. O adres poate s aib trei pri: imaginea unui text care apare ntr-un cmp, sau o
adres de control al cii ctre un fiier sau pagin, subadresa unei locaii ctre un fiier sau o
pagin. Cea mai uoar cale de a introduce o adres hyperlink ntr-un cmp este activarea cu
click a funciei Hyperlink din meniul Insert. Fiecare dintre cele trei pri ale unei adrese
Hyperlink poate avea 2048 caractere.
Lookup Wizard : creeaz un cmp care ne ajut s gsim o valoare dintr-o alt tabel sau
list de valori folosind o caset list sau o caset combinat. Selectnd aceast opiune lansm n
execuie Lookup Wizard, care creeaz un cmp de tip Lookup. Dup ce completm Asistentul
(Wizard), Microsoft Access seteaz tipul de dat la valoare selectat din acesta.
Pentru crearea unei tabele cu opiunea Design View trebuie repetate, pentru fiecare cmp
urmtoarele operaii: se introduce denumirea cmpului, se stabilete tipul de dat (unul dintre
cele prezentate anterior), se formateaz cmpul prin alegerea uneia sau mai multor opiuni din
fereastra din stnga jos i se introduce o descriere succint a semnificaiei cmpului n cadrul
tabelei. Dup introducerea tuturor cmpurilor din nregistrarea unei tabele, se salveaz tabela. n
mod similar se pot crea toate tabelele bazei de date.
II.2.Actualizareastructuriilogiceatabelelor

Actualizarea logic a unui tabel presupune una dintre operaiile: adugare de nou cmp,
modificarea sau tergerea unuia existent.

Fig. 12.2.5

Adugarea unui nou cmp n structura unei nregistrri a tabelei se face astfel:
- se selecteaz opiunea Design (fig.12.2.5.) i se obine imaginea structurii nregistrrii
tabelei;

- se selecteaz cmpul n faa cruia se dorete adugarea unui nou cmp;


- din submeniul Insert al barei de meniuri se selecteaz opiunea Rows i se creeaz o
linie nou n cadrul machetei de descriere a structurii nregistrrii;
- se introduc apoi, de la tastatur, caracteristicile noului cmp.
Modificarea se face astfel:
se acceseaz opiunea Design (fig.12.2.5.) i se deschide o fereastr ce conine
structura n cmpuri a nregistrrii tabelei respective;
se selecteaz cmpul care se dorete a fi supus modificrii;
se opereaz modificarea dorit privitoare la numele cmpului, tipul de dat,
proprietile acestuia sau descrierea lui.
tergerea unui cmp existent n structura nregistrrii unei tabele se terge astfel:
se apeleaz la opiunea Design relativ la tipul de obiect Table i tabela de
actualizat;
se selecteaz linia pe care se gsete descrierea cmpului de ters prin click pe
marginea din stnga a acesteia;
se apas tasta Delete

Pentru introducerea datelor ntr-o tabel (popularea tabelei) se poate utiliza opiunea
Open (fig. 12.2.5.). Se deschide astfel macheta standard de culegere date pentru tabela respectiv
(fig. 12.2.6.).

Fig. 12.2.6.

Se introduc valorile corespunztoare fiecrui cmp al nregistrrilor tabelei. Trecerea de la un


cmp la altul se face prin apsarea tastei TAB sau prin apsarea tastei ENTER. Revenirea la
cmpul anterior se face prin combinaia de taste SHIFT + TAB. Evident c toate aceste manevre
se pot face i cu ajutorul mouse-ului. Pentru deplasarea n cadrul unei tabele se pot utiliza i
butoanele prezente n macheta de culegere i aflate pe linia Record (acionate cu mouse-ul):
acionarea primul buton are ca efect poziionarea direct pe prima nregistrare, al doilea buton
conduce la nregistrarea anterioar, al treilea pe urmtoare nregistrare, iar al patrulea direct pe
ultima nregistrare. Pe aceeai bar este afiat numrul de ordine al nregistrrii curente, iar n
dreapta acesteia numrul total de nregistrri.
Pentru introducerea datelor ntr-o tabel utilizatorul are la dispoziie o serie de faciliti
care simplific munca de culegere. Se pot utiliza urmtoarele combinaii de taste:
CTRL i ; - pentru introducerea datei curente;
CTRL i : - pentru introducerea orei curente;
CTRL ALT SPACE pentru introducea valorii implicite (dac aceasta a fost
definit);
CTRL i pentru repetarea valorii introduse n acelai cmp al nregistrrii
precedente.
Deplasarea n cadrul unei tabele: n afara deplasrilor n cadrul unei tabele pe care le-am
precizat anterior, utilizatorul mai are la dispoziie i urmtoarele scurtturi:
tasta END : salt la sfritul nregistrrii curente;
tasta HOME : salt la nceputul nregistrrii curente;
tasta : salt la acelai cmp din nregistrarea anterioar;
tasta : salt la acelai cmp din nregistrarea urmtoare;
CTRL + : salt la acelai cmp al primei nregistrri;
CTRL + : salt la acelai cmp al ultimei nregistrri;

CTRL + END : salt la ultimul cmp al ultimei nregistrri;


CTRL + HOME : salt la primul cmp al primei nregistrri.
Modificarea valorii cmpurilor din nregistrrile unei tabele
Se selecteaz tabela ce urmeaz a fi supus modificrii i apoi se deschide cu ajutorul
butonului Open. Se identific nregistrarea de modificat, prin una dintre metodele de deplasare n
cadrul tabelei anterior prezentate. Realizm apoi poziionarea pe cmpul a crui valoare se
dorete modificat, se terge valoarea existent i se reintroduce noua valoare.
Pentru modificarea mai multor valori aflate n nregistrrile unei tabele se poate utiliza i
funcia Replace din submeniul Edit (CTRL+H).
tergerea nregistrrilor unei tabele
Pentru realizarea acestei operaii se selecteaz nregistrarea / nregistrrile ce urmeaz a fi
terse. Exist mai multe posibiliti de selectare a unei / unor nregistrri:
se gliseaz cu mouse-ul pe coloana de identificare a nregistrrii din marginea
stng a machetei de culegere date;
se gliseaz cu mouse-ul pe linia de identificare a cmpurilor din marginea
superioar a machetei de culegere date;
se alege opiunea Select All Records (CTRL + A) din submeniul Edit i astfel
este selectat ntreaga tabel.
Dup selectarea nregistrrii / nregistrrilor de ters, se procedeaz la tergerea acestora
prin apsarea tastei Delete, prin apelarea la funcia Delete Record din submeniul Edit sau prin
acionarea cu mouse-ul a butonului de terge aflat n bara de instrumente.
Pentru tergerea unui tabel se procedeaz n felul urmtor: se selecteaz, din cadrul
ferestrei Database, tipul de obiect Table, apoi se selecteaz, prin click de mouse, tabela de ters,
dup care se poate alege una dintre variantele:
se apas tasta Delete;
se execut click de mouse pe butonul Cut aflat n bara de instrumente;
se apeleaz funcia Cut din cadrul submeniului Edit sau se folosete combinaia
de taste CTRL + X.
Relaionarea tabelelor unei baze de date
SGBD-ul ACCESS opereaz cu baze de date relaionale, adic colecii de tabele
relaionate. Pentru realizarea operaiei de relaionare a tabelelor unei baze de date se stabilesc
legturile dintre acestea prin cmpurile sau expresiile de cmpuri menite s asigure aceste
legturi. Pentru aceasta se apeleaz la butonul Relationships sau la funcia cu acelai nume din
submeniul Tools. Se deschide astfel fereastra cu numele Relationships care permite selectarea,
din fereastra Show Table, a tabelelor (Tables), interogrilor (Queries) sau a ambelor tipuri de
obiecte (Both) ce se doresc relaionate (se selecteaz obiectul, dup care se activeaz, prin click
de mouse, butonul Add). Dup ncheierea seleciei obiectelor de relaionat, se nchide fereastra
Show Table folosind butonul Close.
n fereastra Relationships apar obiectele selectate i structurarea acestora. Relaionarea se
realizeaz ntre cupluri de obiecte n modul cel mai natural cu putin: se gliseaz cu mouse-ul de
pe cmpul de legtur al primului tabel ctre cel al celui de-al doilea tabel al relaiei. Din noua
fereastr deschis ca urmare a acestei aciuni, se execut click de mouse pe butonul Create. Drept
urmare relaia se materializeaz i grafic pe ecran.

III.1.Creareaasistataunuiformular
Formularelesuntferestrecepermitculegereasauafiareadatelorn/dintabeleleuneibazede
date.Creareaunuiformularesteposibildacbazadedateconinecelpuinuntabelsauointerogare.

Pentrugenerareaasistataunuiformularseprocedeaznfelulurmtor:
seselecteazetichetaFormdinbaradetipurideobiecte,seapasbutonulNewiapoi
sealegeFormWizarddinfereastraNewForm(fig.12.4.1.);

Fig.12.4.1.

Fig.12.4.2.

dinfereastraFormWizard(fig.12.4.2.)sepotalegtabelelesauinterogrileimplicaten
construireaformularului(casetaTables/Queries);
din caseta Availabe Fields se pot selecta cmpurile ce se doresc incluse n formular;
acestea vor putea fi transferate n caseta Selected Fields folosind butonul unul
cte unul, iar n sens invers folosind butonul ; pentru transferul n bloc a tuturor
cmpurilor se pot folosi butoanele i, respectiv, ; dup stabilirea cmpurilor
selectate din toate tabelele sau interogrile implicate n construirea formularului, se
acceseazcumouseulbutonulNext;
sealegeapoidinfereastraFormWizardformadeafiareaformularului(nfig.12.4.3.
saselectatautomatColumnar);seacceseazbutonulNext;
sealegestiluldeformular(nfig.12.4.4.saalesautomatstilulStone);seacceseaz
butonulNext;
seintroducenumeleformeiiseacceseazbutonulFinish(fig.12.4.5.);

Pe ecran va aprea automat macheta de culegere date pe care o putem acum utiliza.
Pentru utilizri ulterioare se poate accesa butonul Open din fereastra obinut prin
selectarea etichetei Form

Fig.12.4.3.

Fig.12.4.4.

Fig. 12.4.5.

Actualizarea structurii logice a unui formular


Modificarea formularului se poate face folosind butonul Design.
Se poate crea un formular i prin folosirea opiunii AutoForm alegnd aceast opiune
din fereastra New Form (fig. 12.4.1.), cu variantele Columnar, Tabular (fig. 12.4.7.) sau
Datasheet.

Fig. 12.4.7.

Crearea anteturilor i subsolurilor unui formular


Crearea anteturilor i subsolurilor de formular
Pentru introducerea unor informaii suplimentare la nceputul i/sau la sfritul unor
formulare sau al paginilor de formular se pot utiliza Form Header, Form Footer, Page Header,
Page Footer, vizualizarea acestora fcnd-se prin selectarea funciilor Form Header/Footer i
respectiv Page Header/Footer din meniul View, n starea de modificare (Design) a unui formular.
Subiectetem:

Vom considera urmtorul exemplu: se cere s se creeze un formular care sa asigure


culegerea de date pentru popularea tabelei Mater avnd structura : Cod, Den, Um, Cant, Pret.
Dup crearea tabelului cu ajutorul etichetei Table din fereastra de lucru cu baza de date bd_ex
(vezi 12.2.), alegem eticheta Form, accesm butonul New i alegem opiunea Form Wizard.
Selectm tabela Mater, transferm toate cmpurile disponibile n zona de cmpuri selectate,
accesm butonul Next, alegem forma tabelului (de ex. Tabular), apoi, dup o nou accesare a
butonului Next, alegem stilul formei (de ex. Colorful 2), stabilim apoi numele formei i accesnd
butonul Finish marcm sfritul construirii formularului. Introducem apoi cteva nregistrri
folosind formularul creat.

Fig. 12.4.8.

Pentru introducerea unui titlu pentru formular, a informaiilor de nceput de formular


(capul de tabel cu semnificaia valorilor din tabel) n Form Header i a totalului cantitilor n
Form Footer, selectm formularul i accesm butonul Design. Pentru cazul exemplului
considerat, pentru a se ajunge la la starea prezent n fig. 12.4.8., procedm astfel:
prin click dreapta de mouse pe bara de titlu a formei deschidem o fereastr de
dialog din care alegem funcia Properties i introducem n caseta de text Caption
titlul dorit pentru formularul nostru, de exemplu Culegere date materiale;
n zona Form Header, introducem, prin controlere de tip etichet, texte
explicative asupra semnificaiei datelor de pe coloana respectiv a tabelului;
n zona Form Footer, introducem un controler de tip etichet cu textul explicativ
Total cantitate, iar pe coloana cantitii introducem un controler de tip caset text
n care urmeaz s indicm introducerea n formular a totalului pentru cmpul Cant;
pentru aceasta, executm click drepta de mouse pe caseta text, alegem funcia
Properties i, din cadrul acesteia, opiunea Date; n caseta Control Source
introducem formula =sum([cant]), ceea ce nsemn c n caseta de text va fi afiat
totalul valorilor din cmpul cant al tabelei asociat formularului.
Dup aceste operaii, apelarea formularului prin intermediul butonului Open va conduce
la o stare a formularului ca cea din fig. 12.4.9.

Fig. 12.4.9.

Creareasubformularelor

Crearea subformularelor
n situaia n care avem creat o relaie de tipul unu la mai muli ntre dou tabele,
crearea formularului care conine cmpuri din ambele obiecte implicate n relaie conduce la un
formular principal cu nregistrri din tabelul n care cmpul de legtur apare cu valoare unic i
la un subformular n care apar toate nregistrrile din al doilea fiier care sunt n legtur cu
nregistrarea curent din formularul principal.
Pentru a avea o imagine concret a succesiunii pailor ce trebuie urmai pentru a crea
formulare cu subformulare, s considerm o baz de date format din tabelele STOC i MISC,
avnd, respectiv structurile prezente n fig. 12.4.10 i 12.4.11.

Fig. 12.4.10

ntre cele dou tabele vom stabili o relaie de tip unu la mai muli (tabela unu fiind
STOC (un material apare identificat prin cod o singur dat), iar tabela MISC fiind mai muli
(un material poate aprea de mai multe ori cu micri ntr-o perioad de referin).
n continuare se alege eticheta Forms i se creeaz un formular apelnd la opiunea New,
funcia Form wizard. Se selecteaz cmpurile formularului din lista de cmpuri disponibile n
cele dou tabele i apoi se urmeaz succesiunea de operaii prezente n fig. 12.4.12.

Fig. 12.4.11.

n final se va obine un formular principal care prezint coninutul unei nregistrri din
tabelul principal al relaiei i toate nregistrrile corespunztoare acesteia din al doilea tabel al
relaiei (acestea apar n subformular).

Fig. 12.4.12.

Recomandm cititorului s realizeze efectiv pe calculator aceste exemple i, dac va lucra


corect, va obine exact rezultatul prezentat n ultima imagine din fig. 12.4.12.

II.3. Crearea anteturilor i subsolurilor unui formular


Crearea anteturilor i subsolurilor de formular
Pentru introducerea unor informaii suplimentare la nceputul i/sau la sfritul unor
formulare sau al paginilor de formular se pot utiliza Form Header, Form Footer, Page Header,
Page Footer, vizualizarea acestora fcnd-se prin selectarea funciilor Form Header/Footer i
respectiv Page Header/Footer din meniul View, n starea de modificare (Design) a unui formular.
Vom considera urmtorul exemplu: se cere s se creeze un formular care sa asigure
culegerea de date pentru popularea tabelei Mater avnd structura : Cod, Den, Um, Cant, Pret.
Dup crearea tabelului cu ajutorul etichetei Table din fereastra de lucru cu baza de date bd_ex
(vezi 12.2.), alegem eticheta Form, accesm butonul New i alegem opiunea Form Wizard.
Selectm tabela Mater, transferm toate cmpurile disponibile n zona de cmpuri selectate,
accesm butonul Next, alegem forma tabelului (de ex. Tabular), apoi, dup o nou accesare a
butonului Next, alegem stilul formei (de ex. Colorful 2), stabilim apoi numele formei i accesnd
butonul Finish marcm sfritul construirii formularului. Introducem apoi cteva nregistrri
folosind formularul creat.

Fig. 12.4.8.

Pentru introducerea unui titlu pentru formular, a informaiilor de nceput de formular


(capul de tabel cu semnificaia valorilor din tabel) n Form Header i a totalului cantitilor n
Form Footer, selectm formularul i accesm butonul Design. Pentru cazul exemplului
considerat, pentru a se ajunge la la starea prezent n fig. 12.4.8., procedm astfel:
prin click dreapta de mouse pe bara de titlu a formei deschidem o fereastr de
dialog din care alegem funcia Properties i introducem n caseta de text Caption
titlul dorit pentru formularul nostru, de exemplu Culegere date materiale;
n zona Form Header, introducem, prin controlere de tip etichet, texte
explicative asupra semnificaiei datelor de pe coloana respectiv a tabelului;
n zona Form Footer, introducem un controler de tip etichet cu textul explicativ
Total cantitate, iar pe coloana cantitii introducem un controler de tip caset text
n care urmeaz s indicm introducerea n formular a totalului pentru cmpul Cant;

pentru aceasta, executm click drepta de mouse pe caseta text, alegem funcia
Properties i, din cadrul acesteia, opiunea Date; n caseta Control Source
introducem formula =sum([cant]), ceea ce nsemn c n caseta de text va fi afiat
totalul valorilor din cmpul cant al tabelei asociat formularului.
Dup aceste operaii, apelarea formularului prin intermediul butonului Open va conduce
la o stare a formularului ca cea din fig. 12.4.9.

Fig. 12.4.9.

Bazele de date sunt construite i actualizate cu scopul exploatrii ulterioare a


informaiilor memorate. Una dintre modalitile de extragere a informaiilor din bazele de date
ACCESS o reprezint interogrile (obiecte de tipul Queries). Se pot manipula dup selectarea
etichetei Queries.
Exist mai multe modaliti de lucru pentru crearea interogrilor bazelor de date
ACCESS:
Design View
Simple Query Wizard
Crosstab Query Wizard
Fiind Duplicates Query Wizard
Fiind Unmatched Query Wizard.
Vom trata mai nti modalitatea care permite crearea de interogri de selecie prin
apelarea la asistarea de ctre Access a acestei operaii. Acest lucru presupune selectarea de
cmpuri din unul sau mai multe obiecte de tip tabel sau interogare.

1.CreareaSimpleQuerywizard

se selecteaz tipul de obiect Queries i apoi se acceseaz butonul New care


permite crearea unui nou obiect din categoria selectat
din caseta de dialog New Query care apare dup accesarea butonului New (fig.
12.5.5.), se alege opiunea Simple Query Wizard i butonul OK;

Fig. 12.5.5.

se selecteaz apoi tabela / interogarea sau tabelele / interogrile, i, din cadrul


acestora, cmpurile ce se doresc n interogare, dup care se acceseaz butonul
Next.(fig.12.5.6);

Fig.12.5.6.

din fereastra urmtoare se poate indica dac se dorete ca interogarea s conin


detaliat toate nregistrrile tabelei principale, caz n care se alege butonul radio
Detail (Shows every field or every record) sau doar un rezumat (Summary), n
acest din urm caz alegndu-se obligatoriu opiunea Summary Options i
introducndu-se i criteriile de rezumare: selectarea cmpului supus rezumrii i a
funciei de rezumare: sum (nsumare), avg (media aritmetic), min (valoarea
minim), max (valoarea maxim) (recomandm cititorului efectuarea exemplului
pe calculator);
se acceseaz din nou butonul Next, iar n noua fereastr se stabilete numele sub
care se dorete salvarea pe disc a interogrii;
se acceseaz butonul Finish i interogarea se afieaz pe ecran.

Exemplu (exerciiu) de aplicaie informatic care utilizeaz obiecte de tip tabel, formular i
interogare(creatprinmodulSimpleQueryWizard):

SsecreezebazadedatecunumeleLP1icaresconintabelelecuurmtoareastructur:
REVISTE
Cod
Number,LongInteger,Indexed,NoDuplicates
Text20
Titlu
Editura
Text15
Pret
Number,Single,Fixed
CHITANTE
Nr_Chitanta Number,Longinteger,Indexed,NoDuplication
Cod
Number,LongInteger,Indexed,DuplicatesOK
Per_abonam Number,Byte,valoriposibileintre1i12

TabelesevorrelaionadupcmpulCod.

Sevacreacteunformulardeculegeredatepentrufiecaredintretabeleisevorculegedatele:
REVISTE

100
Tilul1 E1
100.50

150
Titlul2 E2
200.55

130
Titlul3 E1
150.55

140
Titlul4 E1
124.44
CHITANTE

1001 100
6

1501 150
4

1002 100
12

1301 130

1502 150
6

1401 140
12

1003 100
12

Se vor culege i valori din afara limitelor din regulile de validare pentru a urmri dac formularul
sesizeaz eroarea de culegere.
Se va crea i un formular asociat ambelor fiiere utiliznd modul de lucru wizard. Acesta
va conine toate cmpurile din REVISTE i cmpurile Nr_chitanta i Per_abonam din
CHITANTE. Formularul va asocia fiecrei reviste chitanele prin care se consemneaz
abonamentele la acestea. Se va obine un formular cu subformular.

Se va crea o interogare care s realizeze o centralizare a valorilor ncasate pentru


abonamente pe fiecare revist n parte, astfel:
o

sevacreamaintiinterogareaTOTAL_LUNI(folosindSimplequerzwizard)carevaconinecod,
titlu,editura,pret(dintabelaREVISTE)iper_abonam(dinCHITANTE)solicitnd,prinSummary
options,nsumareanumruluidelunideabonament(per_abonam)
ninterogareaanterioarseintroduce,folosindbutonulDesignView,uncmpnoucareconine
formulatotal_luni(creatprinnsumareavaloriicmpuluiper_amonam)*pret.

Recomandmcititoruluiexecutareaacesteilucrripracticecuscopulfixriiiverificriinivelului
atinsnnsuireacunotinelorlegatedeutilizareaMicrosoftAccesspentruprelucrareaprinformularei
interogriadatelordinbazelededaterelaionale.
2.CreareadeinterogrinDesignView

Pentru crearea unei noi interogri n modul Design View se vor parcurge urmtorii pai:
se selecteaz butonul Queries aflat n bara tipurilor de obiecte Access;
se efectueaz click de mouse pe butonul New ;
se alege opiunea Design View din lista de opiuni i apoi se acceseaz butonul
OK;
se selecteaz tabela sau tabelele care ce urmeaz s furnizeze informaii cuprinse
n interogare (fig.12.5.1.) folosind butonul Add;

Fig. 12.5.1.

se nchide fereastra Show Table folosind butonul Close, dup adugarea tuturor
tabelelor necesare interogrii;

Adugarea de cmpuri n interogare


se execut click de mouse pe prima celul liber din linia Table i, din lista
descendent care se poate deschide, se selecteaz numele tabelei creia i aparine
cmpul de introdus;
se execut click de mouse pe linia Field i se selecteaz un cmp.(fig.12.5.2.).

Fig. 12.5.2.

tergerea unui cmp dintr-o interogare


se execut click de mouse pe coloana cmpului ce trebuie ters;

se alege submeniul Edit, funcia Delete Column sau se apas tasta Delete.

Adgarea criteriilor
Criteriile permit selectarea cmpurilor din nregistrare care vor fi afiate n cadrul
interogrii. Aceste criterii sunt exprimate prin expresii relaionale sau logice. Introducerea
criteriilor se poate face pe linia Criteria, iar dac avem mai multe crierii, pe liniile Or. Vor fi
afiate n interogare toate cmpurile a cror valoare satisface cel puin unul dintre criteriile
introduse n liniile Criteria sau Or. (fig.12.5.3).

Fig.12.5.3.

Pentru construirea expresiilor din liniile Criteria sau Or se poate apela i la constructorul
Access pentru expresii: se execut click dreapta de mouse n celula respectiv i apoi se
selecteaz funcia Build.
Sortarea nregistrrilor unei interogri
Se poate realiza utiliznd linia Sort din macheta de construire a interogrii.(fig. 12.5.4).

Fig. 12.5.4.

Dup click de mouse pe linia Sort, se deschide o fereastr care conine opiunile:
Ascending, Descending i (no sorted). Selectnd una dintre aceste opiuni asigurm ordonarea
cresctoare, descresctoare a nregistrrilor sau, respectiv lipsa ordonrii acestora n cadrul
interogrii.
Afiarea sau ascunderea unui cmp

Se poate solicita afiarea sau ascunderea valorilor unui cmp n cadrul unei interogri
prin activarea sau inactivare, prin click de mouse, a casetei din linia Show. (fig.12.5.4).
Vizualizarea unei interogri
Se nchide fereastra de construire a interogrii (folosind butonul de nchidere), apoi se
selecteaz interogarea de vizualizat i se acceseaz butonul Open.
Imprimarea unei interogri
Se realizeaz folosind funcia Print din submeniul File aflat n bara de meniuri, sau prin
combinaia de taste CTRL+P. n ambele situaii apare pe ecran caseta de dialog Print din
interiorulcreiapotfistabilitecondiiiledeimprimare.

n Access pot fi utilizate 4 tipuri de interogri speciale i anume: MakeTable, Append,


Update, Delete.
1. Interogri speciale de tip Make Table Query
Interogarea de tip MakeTable are rolul de a crea o nou tabel care s conin cmpurile
i nregistrrile selectate din cadrul uneia sau mai multor tabele sau interogri existente. Crearea
unei astfel de interogri presupune parcurgerea urmtoarelor etape:

Crearea interogrii prin selectarea de atribute din una sau mai multe tabele sau
interogri existente, eventual relaionate; se poate apela la modurile de lucru Simple
Query Wizard sau Design View, ambele prezentate n leciile anterioare i exersate la
orele de aplicaii practice de laborator

Selectarea submeniul Query din bara de meniuri; din lista de funcii a acestui
sumbeniu se alege Make Table Query; se indic numele tabelului ce se dorete a fi creat
sau recreat, se salveaz interogarea creat prin accesarea butonului de nchidere a
ferestrei de lucru;

Pentru crearea sau recrearea tabelului se apeleaz interogarea prin accesarea cu


mouse a butonului Open, dup selectarea interogrii, sau prin dublu click de mouse pe
interogare; se declaneaz un dialog cu utilizatorul prin care acesta este informat de
tergerea tabelului (dac acesta exist deja pe disc) i de numrul de nregistrri
(rnduri) ce vor fi introduse n noua tabel
Observaie: Este important ca tabelul ce rezult dintr-o interogare de tip Make Table s nu fie
implicat n nici o relaie permanent (creat n fereastra Relationships) cu alte tabele sau
interogri. Dac este necesar relaionarea, atunci aceasta se poate face doar n cadrul interogrii
care o folosete, ea refcndu-se la fiecare apelare a acesteia.
2. Interogri speciale de tip Append Query
Interogarea de tip Append are rolul de a aduga ntr-o tabel noi nregistrri preluate din
alt tabel. Pentru crearea unei astfel de interogri se poate proceda astfel:

se apeleaz modul de lucru Design View pentru crearea interogrii

se selecteaz tabela din care se face adugarea

se alege funcia Append Query din submeniul Query

se selecteaz cmpurile de adugat i cele n care se adaug

se salveaz prin nchiderea ferestrei de lucru de la butonul de nchidere din bara


de instrumente stabilindu-se numele interogrii (la prima salvare)
Observaie:Apelareainterogriisefaceprinselectareaacesteia iaccesarea butonuluiOpen,
prin dublu click de mouse pe interogare, sau prin apsarea tastei <enter>, dup selectarea
interogrii. Efectul este adugarea cmpului sau cmpurilor indicate din toate nregistrrile
tabeleisurscanregistrrialetabeleidestinaie.

3. Interogri speciale de tip Delete Query


Cu ajutorul acestui tip de interogare putem selecta seturi de nregistrri ale unei tabele ce
urmeaz a fi supuse operaiei de tergere. Pentru a crea o interogare de tip Delete Query putem
parcurge urmtorii pai:
dinfereatraDatabaseQueryNewapelmgeneratoruldeinterogri
selectm,nmoduldelucruDesignView,tabelasupusoperaieidetergere
alegemdinmeniulQueryfunciaDeleteQueryiobservmapariia,nmachetadelucru,aliniei

Delete
prin operaia de glisare (drag&drop) selectm cmpurile ce vor fi utilizate la filtrarea
nregistrrilordeters
peliniaDeleteapareimplicitfunciaWhere
peliniaCriteriasevorintroduce,pentrufiecaredintrecmpurileintroduse,condiiidefiltrare
putemvizualizasetuldedatedinamiccarevafitersprinbutonuldatasheetview
dacsuntemdeacordcutergerealansmcomandarun

4. Interogri speciale de tip UpDate Query


Acesttipdeinterogripermitcoreciamaimultornregistrrialeuneitabele,filtrateeventual
printrocondiie,laovaloarecepoatefioconstant,ovariabilsauoexpresiencomponenacreia
suntinclusealtecmpurialetabelei,directsaucaparametriaiunorfuncii.
PentrucreareainterogrilordetipUpdateQuerysepotparcurgeurmtoriipai:
dinfereastraDatabaseQueryNewapelmgeneratoruldeinterogri
selectm,nmoduldelucruDesignView,dinfereastraShowTable,tabelasupusoperaieide
corecie
stabilimtipulinterogriiprinalegereafuncieiUpdateQuerydinmeniulQuery;obinemastfel,
nmachetadelucru,liniaUpdateTo
introducem, pe coloana cmpurilor supuse coreciei, valoarea corectoare, pe linia Update To,
sub forma unei constante, variabile sau formule; pe liniile Criateria sau Or putem introduce
condiiicaresasigurefiltrareanregistrrilordecorectat
putemvizualizanregistrriledecorectatprinbutonulview
dacdorimvizualizareaiaaltorcmpurinafaracelorsupusecoreciei,numeleacestoravafi
trecutpeliniaUpdateTontreparantezedrepte
senchidefereastradelucrudelabutonulCloseisesalveazinterogarea
seapeleazinterogareapentruarealizacoreciapropriuzis.

InterogrispecialedetipCrossTabQuery
Vomnumincruciarerezultatuluneiinterogrispecialecarepermiteanalizarearelaieidintre
uncmpaluneitabeleialtcmpalaceleaitabele.
Pentru o prezentare mai explicit a caracteristicile unei interogri de ncruciare (Crosstab) vom
consideraurmtorulexemplufoartesimplu:Avemotabeldedatececoninedoucmpuri,denumite
cimp1icimp2.Primuldintrecmpuripoateaveavalorinumerentregi,iarceldealdoileaarecavalori
posibile iruri de caractere de cte un caracter. Dorim s cunoatem de cte ori apare fiecare ir de
caractererelativlafiecaredintrevalorilecmpuluicimp1.
PentrurezolvareaproblemeivomcreaointerogaredetipCrosstabprinparcurgereapailor:
dinfereastraDatabaseQueryNewapelmgeneratoruldeinterogri
selectm,nmoduldelucruDesignView,dinfereastraShowTable,tabelasupusoperaieide
analizprinncruciare
stabilim tipul interogrii prin alegerea funciei Crosstab din meniul Query; obinem astfel, n
machetadelucru,liniaCrosstab
plasm pe prima coloan cmpul care va fi folosit pentru linii (nregistrri) ale interogrii, n
cazul exemplului considerat, cimp1. Pe linia Crosstab alegem Row Heading, iar pe linia Total,
GroupBy
plasm apoi cmpul al crei frecven de apariie ne intereseaz, n cazul exemplului nostru,
cimp2;peliniaCrosstabalegemColumnHeading,iarpeliniaTotal,GroupBy
plasmapoicmpulcarevafifolositdreptconinutalmatriceigeneratdeinterogare,ncazul
exempluluiconsiderat,cimp1.PeliniaCrosstabvomalegeValue,iarpeTotal,funciaCount
vommaidefiniunnoucmpncadrulinterogrii,ianumeTotal:cimp1,cearepeliniaTotal,
funciaCount,iarpeliniaCrosstab,funciaRowHeading
DactabelaTabel1areconinutulurmtor

atunci interogarea care s prezinte frecven de apariie a valorilor cmpului cimp2 relativ la fiecare
dintre valorile cmpului cimp1 are urmtoarele structuri logice i fizice (obinute prin parcurgerea
pailordescriianterior):

Crearea interogrilor ncruciate prin folosirea asistentului Crosstab Wizard.


Pentruafacilitanelegereaifixareapailordeurmat,precumisituaiancareesteindicat
folosireaacestuigendeinterogare,vompornidelaunexempluconcretisimplu:sdeterminmdin
tabelaProduse,avndstructuralogicCod,Grupa,Denumire,UM,Pret,numrulproduselordincadrul
aceleaigrupecareauacelaipre.
DupapelareautilitaruluipentrugenerareainterogriiDatabaseQueryNewvomexecuta
urmriipai:

Pas1:Alegereatabeleicarevaconstituisursadedate(dacamselectatbutonulradioQueries,
putemalegeiointerogarecasurspentrudate).

Pas 2: Alegerea cmpului ale crui valori vor fi n liniile rezultatului (n cazul de fa grupa
produsului)

Pas3:Alegereacmpuluialecruivalorivorfincoloanainterogrii(ncazuldefaPret)

Pas 4: Alegerea funciei ce se va aplica pentru afiarea rezultatului din celulele interogrii (n
cazul exemplului considerat count care va numra frecvena de apariie a unui pre n cadru
fiecreigrupedeprodus).

Pas 5: Se atribuie nume pentru salvarea interogrii. Se poate alege butonul radio Modify the
designpentruaputeamodificaatributelecoloanelorinterogriisau(implicit)butonulViewthe
querypentruavizualizainterogareapeecran.


ConsidermctabelaProduseconinedateledinimagineaurmtoare:

Atuncirezultatulinterogriiesteprezentatmaijos

InterogrispecialedetipFindDuplicatesQuery
Pentru edificare vom considera c dorim s depistm toate nregistrrile tabelului Produse cu
structuraprezentatanterioricareauacelaipre.Rezolvareaproblemeisepoatefacecuajutorulunei
interogripecareovomconstruiurmndpaii:
Pas1:SelectmNewqueryFindDuplcatesQueryWizard
Pas2:Selectmcmpuldupcaredorimcutareavaloriloridentice(ncazulexempluluinostru,
Pret)
Pas 3: Selectm celelalte cmpuri pe care dorim s le introducem n interogare (n cazul
exempluluiconsiderat,DenumireiUM)

Pas 4: Introducem numele interogrii i decidem n ce mod dorim afiarea interogrii, adic
ViewafiatenmodDatabase,ModifyafiarenmodDesign).
Pentruexemplulconsiderat,imagineainterogriiesteurmtoarea:

Deremarcatefectuldinpunctdevederealstructuriilogiceainterogrii:

Crearea interogrilor de cutarea a nregistrrilor fr corespondent folosind Find


Unmatched Query Wizard
Ne propunem s rezolvm urmtoarea problem: determinarea grupelor de produse
pentru care nu avem date n tabela Produse. Presupunem c exist o tabel cu numele Grupe care
conine toate grupele de produse posibil s apar n aplicaia noastr.
Rezolvareaproblemeisepoatefacecuajutoruluneiinterogripecareovomconstruiurmndpaii:
Pas1:SelectmNewqueryFindUnmatchedQueryWizard
Pas2:Seselecteaznumeletabeleidereferin(Grupe)
Pas3:Seindiccmpurilecorespondentedinceledoutabele(GrupeiProduse)
Pas4:Sespecificcmpurilecesevorafianinterogare

Pas 5: Introducem numele interogrii i decidem n ce mod dorim afiarea interogrii, adic
ViewafiatenmodDatabase,ModifyafiarenmodDesign).
Dacceledoutabeleaconinutulprezentatncontinuare

nSQLinterogareasepoategeneraastfel:
SELECTGrupe.Grupa,Grupe.Denumire
FROMGrupeLEFTJOINProduseONGrupe.Grupa=Produse.Grupa
WHERE(((Produse.Grupa)IsNull));

LimbajulSQL(StructuredQueryLanguagelimbajstructuratdeinterogare)esteutilizatpentru
manipulareairegsireadatelordinbazelededaterelaionale.

SQL-ul pune la dispoziia programatorului un administrator de baze de date cu


urmtoarele faciliti:

posibilitateademodificareastructuriibazeidedate;

posibilitateaschimbriivalorilordeconfigurarepentrusecuritateasistemului;

permite stabilirea si modificarea drepturilor date utilizatorilor asupra bazelor de date


sauatabelelor;

permiteinterogareauneibazededate;

oferfacilitimultiplereferitoarelaactualizareaconinutuluiuneibazededate.

O interogare SQL nu este neaprat o ntrebare pusa bazei de date, ci, cel mai adesea,
o comand pentru executarea uneia dintre aciunile de mai jos:

construireasautergereauneibazededate;
inserarea,modificareasautergereaunorliniisaucmpuri;
cutareantabeleauneiinformaiiireturnareaderezultatelentroanumitordine;
modificareasecuritiiinformaiilor;
simplinterogare(ntrebare).
Vomprezentactevacomenziutileoperaiilordeinterogareiactualizareadatelor.
Editarea acestor comenzii se face in fereastra SQL View operabil dup ce am intrat in
proiectareauneiinterogriprinQueryDesign.

ComandaSELECT
- ceamaiimportantimaifolositcomandSQL
- permitespecificareadatelorcarevorconstituiieireadininterogareprecumsisursaacestora.
SintaxacomenziiSELECTesteurmtoarea:

SELECT[domeniu]/[*]/[<coloane>]FROM[<tabele>]
[WHERE <exp>] [GROUP BY <lista_chei>] [HAVING <exp>]
[ORDER<exp>]
unde:
- clauzadomeniuprecizeazcoloanelecarevorformarezultatul;
Pentruexemplificareaveminvedereurmtorulexemplu:FiebazadedateCOALAcutabelele:
CLASE(cls,profil,diriginte)
CLASE
CLS
PROFIL
DIRIGINTE
IXA
IXB
IXC
XA

INFORMATICAPOPA
INFORMATICAIONESCU
MATE
GEORGESCU
INFORMATICABADEA

XB INFORMATICACALIN
XC MATE
TUFIS
XIA INFORMATICABALU
XIB INFORMATICADINA
XIC MATE
STANESCU
XIIAINFORMATICAVOINEA

CLS

CLASE
PROFIL
DIRIGINTE

XIIBINFORMATICAVADUVA
XIICMATE
NITU

iELEVI(cod,nume,cls,med,absn,absm,cam)

ELEVI

COD
NUME
CLS MED ABSN ABSM cam

1ALBUANGELA
IXA 9.5
0
2 Yes

3BOGDANLAURA
IXB 9.75
3
0 No

2PANTELIMONIULIANA IXC
9
2
3 Yes

8ASPRUANA
XA
9
2
3 No

4IOSIFDANIELA
XB
8
5
5 No

10COLTEAVLAD
XIA
9
0
0 No

9VLADDAN
XIB
7
1
3 Yes

7VLASCARALUCA
XIC
10
0
0 No

5DICUION
XIIA
9
0
0 Yes

6POPESCULAVINIA
XIIB 9.5
6
2 No

Exemplul a: S scriem o comand SQL care s afieze numelor tuturor elevilor despre care sunt
memorateinformaiintabelaELEVI.Aceastavafi

SQL>SELECTNUMEFROMELEVI;

Rezultatulexecuieicomenziiesteurmtorul

NUME
ALBUANGELA

ASPRU ANA
BOGDANLAURA
COLTEAVLAD
DICUION

IOSIF DANIELA
PANTELIMONIULIANA
POPESCULAVINIA
VLADDAN
VLASCARALUCA

Clauza[domeniu]poateconine:

Allspecificfaptulcatoatearticolelevorformarezultatul;
Distinct se va elimina din rezultat articolele duplicat create pe baza listei de coloane
specificate;

Exemplul b: s scriem o comand SQL care s afieze numele claselor (distincte!) din
SCOALA folosind tabela ELEVI.
ComandaSQLvafi

SQL>SELECTDISTINCT[CLS]FROMELEVI;

iar rezultatul execuiei ei este


CLS
IXA
IXB
IXC
XA
XB
XIA
XIB
XIC
XIIA
XIIB

Distinctrow va elimina din rezultat toate dublurile din coloanele indicate pentru fiecare
tabelreferitncomandaSELECT

asteriscul (*) - indica faptul ca vor fi incluse toate cmpurile tabelelor surs precizate n
clauza FROM;

Exemplul c: S scriem acum o comand SQL care s afieze tot coninutul fiierului ELEVI.
Comandaeste
SQL>SELECT*FROMELEVI;
iarrezultatulexecuieieiconducela
COD
NUME
CLS MED ABSN ABSM cam
1ALBUANGELA
IXA 9.5
0
2 Yes
3BOGDANLAURA
IXB 9.75
3
0 No
2PANTELIMONIULIANA IXC
9
2
3 Yes
8ASPRUANA
XA
9
2
3 No
4IOSIFDANIELA
10COLTEAVLAD

XB
XIA

8
9

5
0

5 No
0 No

9VLADDAN
7VLASCARALUCA

XIB
XIC

7
10

1
0

3 Yes
0 No

5DICUION
6POPESCULAVINIA

XIIA
XIIB

9
9.5

0
6

0 Yes
2 No


clauza [<coloane>] poate conine cmpuri aparinnd tabelelor definite n clauza FROM, constante,
funciisauexpresiicuacesteaipotprimiunaltnumeprinclauzaAS;

Exemplul d: S scriem o comand SELECT care s afieze media general a tutoror elevilor a cror
informaiiseaflntabelaELEVI.

SQL>SELECTAVG([MED])ASMED_GENFROMELEVI;
Rezultatulexecuieicomenzii

Exemplule:Afiareanumruluielevilordincoal

SQL>SELECTCOUNT(*)ASNR_ELEVIFROMELEVI;

Rezultatulexecuieicomenzii:
NR_ELEVI
10

MED_GEN
Exemplul
f:
afiarea
numruluiclaselordincoal.
8.975

SQL>SELECTDISTINCTCOUNT([CLS])ASNR_CLSFROMCLASE;
Rezultatulexecuieicomenzii:
NR_CLS
12

Exemplul h: afiarea numrului elevilor, a celei mai mici i a celei mai mari medii.
SQL> SELECT COUNT(*) AS NR_ELEVI, MIN([MED]) AS CEA_MAI_MICA_MEDIE, MAX([MED]) AS
CEA_MAI_MARE_MEDIEFROMELEVI;
Rezultatulexecuieicomenzii:
NR_ELEVI
CEA_MAI_MICA_MEDIE
CEA_MAI_MARE_MEDIE
10
7
10

clauza FROM specific lista fiierelor de intrare n prelucrare (se pot stabili aliasuri pentru tabele n
clauzaAS)
Exemplulg:afiareadiriginilorclaselor.
SQL>SELECT[DIRIGINTE],[CLS],[PROFIL]FROMCLASE;
Rezultatulexecuieicomenzii:
DIRIGINTE CLS
PROFIL
POPA
IXA INFORMATICA
IONESCU IXB
GEORGESCU IXC
BADEA
XA
CALIN
XB
TUFIS

INFORMATICA
MATE
INFORMATICA
INFORMATICA

XC MATE

DIRIGINTE CLS
PROFIL
BALU
XIA INFORMATICA
DINA
XIB INFORMATICA
STANESCU XIC MATE
VOINEA
XIIA INFORMATICA
VADUVA
XIIB INFORMATICA
NITU
XIIC MATE
clauzaWHEREpermiteintroducerealegturilorntretabelesiafiltrelor.
Exempluli:afiareaelevilorcumediiintre8si10dintoateclaseleaXIIa.
SQL>SELECT[NUME],[MED]FROMELEVIWHEREMEDBETWEEN8AND10ANDCLSLIKE"XII*";
Rezultatulexecuieicomenzii
NUME
MED
DICUION
9
POPESCULAVINIA 9.5
Exemplulj:afiareadiriginilorclaselordeinformatic.
SQL>SELECT[DIRIGINTE],[CLS]FROMCLASEWHEREPROFIL="INFORMATICA";
Rezultatulexecuieicomenzii:
DIRIGINTE CLS
POPA
IXA
IONESCU IXB
BADEA
XA
CALIN
XB
BALU
DINA

XIA
XIB

VOINEA XIIA
VADUVA XIIB
Exemplulk:afiareaelevilorcumedia10precumiaprofiluluiclaseiacestora.
SQL>SELECT[ELEVI].[NUME],[ELEVI].[CLS],[CLASE].[CLS],[CLASE].[PROFIL]FROMELEVI,CLASE
WHERE[ELEVI].[CLS]=[CLASE].[CLS]AND[ELEVI].[MED]=10;
Rezultatulexecuieicomenzii:
NUME
ELEVI.CLS CLASE.CLS
PROFIL
VLASCARALUCA XIC
XIC
MATE
Exemplull:AfiareaelevilordiriginteluiBADEA.
SQL>SELECT[ELEVI].[NUME]FROMELEVI,CLASE
WHERE((([ELEVI].[CLS])=([CLASE].[CLS]))And(([CLASE].[DIRIGINTE])="BADEA"));
Rezultatulexecuieicomenzii:
NUME
ASPRUANA
Exemplulm:Afiaicaresunteleviicumedia10pentrufiecareclas(precumsinumelediriginilorlor).
Rezolvare:
*Comand:
SQL> SELECT [ELEVI].[NUME], [ELEVI].[MED], [CLASE].[CLS], [CLASE].[DIRIGINTE] FROM CLASE,

ELEVIWHERE((([ELEVI].[CLS])=[CLASE].[CLS])And(([ELEVI].[MED])=10));
Rezultatulexecuieicomenzii:

NUME

MED CLS DIRIGINTE

VLASCARALUCA

10 XIC STANESCU

clauzaGROUPBYpermitegruparearezultatelor.
clauzaHAVINGfixeazrestriciideafiareagrupului.
Exempluln:SsecalculezenumrulelevilorpeclasedarnumailaprofilulInformatica.
SQL>SELECTDISTINCTROW[CLASE].[CLS],Count([ELEVI].[COD])ASNr_Elevi,[CLASE].[PROFIL]
FROMCLASEINNERJOINELEVION[CLASE].[CLS]=[ELEVI].[CLS]
GROUPBY[CLASE].[CLS],[CLASE].[PROFIL]
HAVING(((CLASE.PROFIL)="INFORMATICA"));
Rezultatulexecuieicomenzii:

CLS Nr_Elevi
PROFIL
IXA
1 INFORMATICA
IXB
XA

1 INFORMATICA
1 INFORMATICA

XB
XIA

1 INFORMATICA
1 INFORMATICA

XIB
XIIA

1 INFORMATICA
1 INFORMATICA

XIIB

1 INFORMATICA

clauzaORDERBYspecificexpresiadeordonaresisensulordonrii.

Exemplulo:Afiarealisteiclaselorpeprofilurii,ncadrulfiecruiprofil,cresctordupcodulclasei.

SQL>SELECT[CLASE].[CLS],[CLASE].[PROFIL]FROMCLASEORDERBY[CLASE].[CLS];
Rezultatulexecuieicomenzii:

CLS
PROFIL
IXA
IXB
IXC
XA
XB

INFORMATICA
INFORMATICA
MATE
INFORMATICA
INFORMATICA

XC
XIA
XIB
XIC

MATE
INFORMATICA
INFORMATICA
MATE

CLS
PROFIL
XIIA INFORMATICA
XIIB INFORMATICA
XIIC MATE

p.AfiailistaalfabeticaelevilordiriginteluiPOPA.
SQL>SELECTELEVI.NUME
FROMELEVI,CLASE
WHERE(((ELEVI.CLS)=[CLASE].[CLS])AND((CLASE.DIRIGINTE)="POPA"))
ORDERBYELEVI.NUME;
Rezultatulexecuieicomenzii:
NUME
ALBUANGELA

ASOCIERINTRETABELE
Sintaxapentruasociere[Inner/Left/Right]Join:
SELECT<listacoloane>FROM(<tabela1>
[INNER/LEFT/RIGHT]JOIN<tabele2>ON<condiia1>)
WHERE<condiie>

Tipul asocierii datelor din tabelele relaionate nu afecteaz relaia ci doar modul cum sunt
regsite informaiile din cele dou tabele legate. Rezultatul unei relaii poate fi vzut ca o alt tabel
care are pe fiecare linie valori i din prima tabel i din a doua. Semnificaia clauzelor din comanda
SELECTdestinatrelaionriitabeleloresteprezentatncontinuare.
ClauzaInnerJoinrezultatulasocieriiincludenumaiacelernduridinambeletabelecareauvaloriegale
alecheiidelegtur.
Exemplulr:AfiaitoieleviidelaprofilulInformatica.
SQL> SELECT [NUME] FROM ELEVI INNER JOIN CLASE ON [CLASE].[CLS]=[ELEVI].[CLS] WHERE
CLASE].[PROFIL]="INFORMATICA";
Rezultatulexecuieicomenzii:

NUME
ALBUANGELA
BOGDANLAURA
ASPRUANA
IOSIFDANIELA
COLTEAVLAD
VLADDAN
DICUION
POPESCULAVINIA

Clauza Outer Join este opusul lui Inner Join se includ linii ntro tabel chiar daca nu exist
corespondentncealalttabel.Poatefi:
o
LeftJoincndseincludtoatearticoleletabeleiprintesinumaiaceleliniidintabelacopil

pentrucareexistcorespondent;

Exemplul s: Afiarea tuturor liniilor tabelei CLASE i numele elevilor claselor.


SQL>SELECT[CLASE].[CLS],[CLASE].[PROFIL],[ELEVI].[NUME]FROMCLASELEFTJOINELEVION
[CLASE].[CLS]=[ELEVI].[CLS];
Rezultatulexecuieicomenzii:

CLS
PROFIL
NUME
IXA INFORMATICA ALBUANGELA
IXB INFORMATICA BOGDANLAURA
IXC MATE
PANTELIMONIULIANA
XA INFORMATICA ASPRUANA
XB INFORMATICA IOSIFDANIELA
XC MATE

XIA INFORMATICA COLTEAVLAD


XIB INFORMATICA VLADDAN
XIC MATE
VLASCARALUCA
XIIAINFORMATICA DICUION
XIIBINFORMATICA POPESCULAVINIA
XIICMATE

Exemplul t: Afiarea tuturor elevilor i a diriginilor acestora chiar daca nu au corespondent n tabela
elevi.
SQL> SELECT [CLASE].[DIRIGINTE], [ELEVI].[NUME] FROM CLASE LEFT JOIN ELEVI ON
[CLASE].[CLS]=[ELEVI].[CLS];
Rezultatulexecuieicomenzii:

DIRIGINTE
NUME
POPA
ALBUANGELA
IONESCU BOGDANLAURA
GEORGESCU PANTELIMONIULIANA
BADEA
ASPRUANA
CALIN
IOSIFDANIELA
TUFIS

BALU
DINA

COLTEAVLAD
VLADDAN

STANESCU VLASCARALUCA
VOINEA
DICUION

VADUVA
POPESCULAVINIA
NITU

RightJoincndseincludtoatearticoleletabeleicopilsidoaraceleliniialetabeleiprinte
careaucorespondent.

Folosireaparametrilor
Dacaexpresiadefiltrareconineunirntreparantezerotunde,Accessconsidercestevorba
deunparametruilaexecuievasolicitaintroducereavaloriisale.
Exemplulu:Afiailistaeleviloruneiclaseoarecaredatdeutilizator.
SQL>SELECT[NUME],[CLS]FROMELEVI
WHERE([ELEVI].[CLS]=([CLASA_oarecare]))
ORDERBY[ELEVI].[NUME];
Rezultatlaexecuie:
CLASAoarecare=IXA
NUME
CLS
ALBUANGELA IXA

ComandaINSERT
- permiteadugareaarticolelordintrotabellasfritulalteia;
- faceapellainstruciuneaSELECT,carevaidentificaliniileicoloanelecaresetransfersauntro
altformpermiteadugareauneisingurenregistrrintabelicompletareaacesteiacudate.

SintaxainstruciuniiINSERTesteurmtoarea:

INSERT INTO <tabela> <instruciune Regulile care


trebuie
SELECT>/VALUES<valori>
respectate la
folosirea
instruciuniiINSERTSELECT:
instruciuneaSELECTnupoateselectaliniidintabelulcareafostinserat;
numruldecoloanedininstruciuneaINSERTSELECTtrebuiesfieegalcunumrulde
coloanereturnatedeinstruciuneaSELECT;
tipurilededatealecoloanelordininstruciuneaINSERTINTOtrebuiesfieacelaicu
tipurilededatealecoloanelorreturnatedeinstruciuneaSELECT.

Exemplulv:SseadaugeelevulIONESCUMIRCEAdinclasaIXAcumedia9.75ntabelaELEVI1.
SQL>INSERTINTOELEVI1(NUME,CLS,MED)
VALUES("IONESCUMIRCEA","IXA",9.75);

Rezultatulexecuieicomenzii:
ELEVI1
COD
NUME
CLS MED ABSN ABSM cam
1ALBUANGELA
IXA 9.5
0
2 Yes
11IONESCUMIRCEA
3BOGDANLAURA

IXA 9.75
IXB 9.75

2PANTELIMONIULIANA IXC
8ASPRUANA
XA
4IOSIFDANIELA
XB
10COLTEAVLAD
XIA

0
3

0 No
0 No

9
9
8
9

2
2
5
0

3
3
5
0

Yes
No
No
No

9VLADDAN
7VLASCARALUCA

XIB
XIC

7
10

1
0

3 Yes
0 No

5DICUION

XIIA

0 Yes

COD

NUME

ELEVI1
CLS MED ABSN ABSM cam

6POPESCULAVINIA
XIIB 9.5
6
2 No

Exemplulx:SseadaugeeleviicminitintabelaELEVICAMexistent.
SQL>INSERTINTOelevicam(nume,cls,med)
SELECT[elevi].[nume],[elevi].[cls],[elevi].[med]
FROMeleviWHERE[elevi].[cam]=Yes;

ELEVI
COD
NUME
CLS MED ABSN ABSM cam
1ALBUANGELA
IXA 9.5
0
2 Yes
3BOGDANLAURA
IXB 9.75
2PANTELIMONIULIANA IXC
9
8ASPRUANA
XA
9
4IOSIFDANIELA
XB
8

3
2
2
5

0
3
3
5

No
Yes
No
No

10COLTEAVLAD
XIA
9
0
9VLADDAN
XIB
7
1
7VLASCARALUCA
XIC
10
0
5DICUION
XIIA
9
0
6POPESCULAVINIA
XIIB 9.5
6
Rezultatulexecuieicomenzii:
ELEVICAM
NUME
CLS MED
ALBUANGELA
IXA 9.5
PANTELIMONIULIANA IXC
9

0
3
0
0
2

No
Yes
No
Yes
No

VLADDAN
DICUION

XIB
XIIA

7
9

InstruciuneaDELETE
- permite tergerea dintro tabel specificat a articolelor care ndeplinesc condiiile date n
clauzaWHERE:
SintaxainstruciuniiDELETEesteurmtoarea:

DELETE
FROM
WHERE<cond>

<nume-tabela>

Exempluly:SseteargeleviidinclasaIXA.
TabelaELEVInainteatransmiteriicomenziidetergereareurmtorulconinut:
ELEVI

COD
NUME
1ALBUANGELA
3BOGDANLAURA

CLS MED ABSN ABSM cam


IXA 9.5
0
2 Yes
IXB 9.75
3
0 No

2PANTELIMONIULIANA IXC
8ASPRUANA
XA
4IOSIFDANIELA
XB
10COLTEAVLAD
XIA
9VLADDAN
7VLASCARALUCA
5DICUION
6POPESCULAVINIA

XIB
XIC
XIIA
XIIB

9
9
8
9

2
2
5
0

3
3
5
0

Yes
No
No
No

7
10
9
9.5

1
0
0
6

3
0
0
2

Yes
No
Yes
No

SQL>DELETE*FROMELEVI2WHERECLS="IXA";

Rezultatulexecuieicomenzii:
ELEVI2
COD
NUME
CLS MED ABSN ABSM cam
3BOGDANLAURA
IXB 9.75
2PANTELIMONIULIANA IXC
9

3
2

0 No
3 Yes

8ASPRUANA
4IOSIFDANIELA
10COLTEAVLAD
9VLADDAN
7VLASCARALUCA
5DICUION
6POPESCULAVINIA

XA
XB

9
8

2
5

3 No
5 No

XIA
XIB

9
7

0
1

0 No
3 Yes

XIC
XIIA
XIIB

10
9
9.5

0
0
6

0 No
0 Yes
2 No

InstruciuneaUPDATE
permiteactualizareavalorilordintabelaindicat.
SintaxainstruciuniiUPDATEesteurmtoarea:

UPDATE<tabela>
WHERE<cond>

SET<cmp>=<exp>,

Exemplul z: S se modifice clasa elevului PANTELIMON IULIANA la valoarea IXF. naintea


actualizriitabelaELEVIareurmtorulconinut:

ELEVI

COD
NUME
1ALBUANGELA
3BOGDANLAURA

CLS MED ABSN ABSM cam


IXA 9.5
0
2 Yes
IXB 9.75
3
0 No

2PANTELIMONIULIANA IXC
8ASPRUANA
XA
4IOSIFDANIELA
XB
10COLTEAVLAD
XIA
9VLADDAN
7VLASCARALUCA
5DICUION
6POPESCULAVINIA

XIB
XIC
XIIA
XIIB

9
9
8
9

2
2
5
0

3
3
5
0

Yes
No
No
No

7
10
9
9.5

1
0
0
6

3
0
0
2

Yes
No
Yes
No

SQL>UPDATEELEVI7SETCLS="IXF"
WHERE(NUME="PANTELIMONIULIANA");

Rezultatulexecuieicomenzii:

ELEVI7
COD
NUME
CLS MED ABSN ABSM cam
1ALBUANGELA
IXA 9.5
0
2 Yes
3BOGDANLAURA
IXB 9.75
3
0 No
2PANTELIMONIULIANA IXF
9
2
3 Yes
8ASPRUANA
4IOSIFDANIELA

XA
XB

9
8

2
5

3 No
5 No

XIA
XIB

9
7

0
1

0 No
3 Yes

7VLASCARALUCA
5DICUION

XIC
XIIA

10
9

0
0

0 No
0 Yes

6POPESCULAVINIA

XIIB

9.5

2 No

10COLTEAVLAD
9VLADDAN

Exemplul w: Toi elevii de la profilulINFORMATICA nu mai stau la cmin. S se fac modificarea n


bazadedate.
ConinutultabelelorELEVIiCLASEesteurmtorul:

ELEVI
COD
NUME
CLS MEDABSN ABSM cam
1ALBUANGELA
IXA 9.5
0
2 Yes
3BOGDANLAURA
IXB 9.75
2PANTELIMONIULIANAIXC
9

3
2

0 No
3 Yes

8ASPRUANA
4IOSIFDANIELA

2
5

3 No
5 No

XA
XB

9
8

COD

NUME

10COLTEAVLAD
9VLADDAN

ELEVI
CLS MEDABSN ABSM cam
XIA
XIB

9
7

0
1

0 No
3 Yes

7VLASCARALUCA
5DICUION

XIC
XIIA

10
9

0
0

0 No
0 Yes

6POPESCULAVINIA

XIIB 9.5

2 No

CLS

CLASE
PROFIL
DIRIGINTE

IXA INFORMATICA POPA


IXB INFORMATICA IONESCU
IXC MATE
GEORGESCU
XA INFORMATICA BADEA
XB INFORMATICA CALIN
XC MATE
TUFIS
XIA INFORMATICA BALU
XIB INFORMATICA DINA
XIC MATE
STANESCU
XIIAINFORMATICA VOINEA
XIIBINFORMATICA VADUVA
XIICMATE
NITU
SQL>UPDATECLASEINNERJOINELEVION[CLASE].[CLS]=[ELEVI].[CLS]SETCAM=NO
WHERE([CLASE].[PROFIL]="INFORMATICA");
Rezultatulexecuieicomenziiafecteazconinutultabeleielevi:

ELEVI
COD
NUME
CLS MED ABSN ABSM cam
1ALBUANGELA
IXA 9.5
0
2 No
3BOGDANLAURA
IXB 9.75
2PANTELIMONIULIANA IXC
9

3
2

0 No
3 Yes

8ASPRUANA
4IOSIFDANIELA
10COLTEAVLAD
9VLADDAN
7VLASCARALUCA
5DICUION

XA
XB

9
8

2
5

3 No
5 No

XIA
XIB

9
7

0
1

0 No
3 No

XIC
XIIA

10
9

0
0

0 No
0 No

COD

ELEVI
CLS MED ABSN ABSM cam

NUME

6POPESCULAVINIA
XIIB 9.5
6
2 No

InstruciuneaCREATETABLE
permitedefinireastructuriitabelelorfrieireadintroaplicaieinterveniedirectnferestrelede
proiectare.
SintaxainstruciuniiCREATETABLEesteurmtoarea:

CREATE
campuri>)

TABLE

<fis.dbf>

(<lista

INTEROGRIDETIPUNION
suntreuniunialerezultatelorobinuteprinmaimulteinterogri;
coloanelerezultatedinfiecareinterogaresuntaceleaicanume,numr,tip.

Exemplulaa:ExistotabelADMIIcueleviireuiilaexamenuldeadmiterencoalacareareaceeai
structurcuatabeleiELEVI.Sseobintoielevii!ConinutultabelelorELEVIiADMIIesteurmtorul
ELEVI
COD
NUME
CLS MED ABSN ABSM cam
1ALBUANGELA
IXA 9.5
0
2 Yes
3BOGDANLAURA
IXB 9.75
3
0 No
2PANTELIMONIULIANA IXC
8ASPRUANA
XA

9
9

2
2

3 Yes
3 No

XB
XIA

8
9

5
0

5 No
0 No

9VLADDAN
7VLASCARALUCA

XIB
XIC

7
10

1
0

3 Yes
0 No

5DICUION
6POPESCULAVINIA

XIIA
XIIB

9
9.5

0
6

0 Yes
2 No

4IOSIFDANIELA
10COLTEAVLAD

COD

NUME

ADMISI
CLS MED ABSN ABSM cam

8ASPRUGABRIEL IXA
10DINAVLAD
IXA

9
9

0
0

0 No
0 No

1DINCAELVIRA IXA 9.5


3EFTIMIEMARIA IXB 9.75

0
0

0 Yes
0 No

4STANCAIOANA IXB
9MARINESCUION IXB
2SANDUELENA IXC

0
0
0

0 No
0 Yes
0 Yes

8
7.5
9

SQL>SELECTNUME,CLS,MEDFROMELEVI
UNIONSELECTNUME,CLS,MEDFROMADMISI
Rezultatulexecuieicomenzii:
TOTAL_ELEVI_ADMISI
NUME
CLS MED
ALBUANGELA
IXA 9.5
ASPRUANA
ASPRUGABRIEL

XA
IXA

9
9

BOGDANLAURA
COLTEAVLAD
DICUION
DINAVLAD

IXB 9.75
XIA
9
XIIA
9
IXA
9

DINCAELVIRA
EFTIMIEMARIA

IXA 9.5
IXB 9.75

IOSIFDANIELA
MARINESCUION

XB
IXB

8
7.5

PANTELIMONIULIANA IXC
POPESCULAVINIA
XIIB
SANDUELENA
IXC

9
9.5
9

STANCAIOANA
VLADDAN

IXB
XIB

8
7

VLASCARALUCA

XIC

10

SUBINTEROGRI
esteointerogarealeicreirezultatesunttransmisecaargumenteuneialteinterogri;
suntelementedelegturntremaimulteinterogri;
deregulointerogarepoatefiinclusnclauzaWHEREfieSELECT.
Exemplul ab: Fie tabelele ELEVI(cu elevii liceului)i ADMII (cu noii elevi reuii anul acesta la liceu).
Fiecaretabelarecoloanamedia(deadmitere!)Aflaidacsuntelevincoalcareaudreptmediede
admitereovaloaremaimicdectultimamediedeanulacesta.

ELEVI
COD
NUME
CLS MED ABSN ABSM cam
1 ALBUANGELA
3 BOGDANLAURA
2 PANTELIMON
IULIANA
8 ASPRUANA
4 IOSIFDANIELA
10 COLTEAVLAD
9 VLADDAN

IXA
IXB

9.5
9.75

0
3

2
0

Yes
No

IXC

Yes

XA
XB
XIA
XIB

9
8
9
7

2
5
0
1

3
5
0
3

No
No
No
Yes

COD

ELEVI
CLS MED ABSN

NUME

7 VLASCARALUCA
5 DICUION

0
0

0
0

No
Yes

6 POPESCULAVINIA XIIB
9.5
6
ADMISI
COD
NUME CLS MED ABSN ABSM cam

No

8ASPRU
GABRIEL
10DINAVLAD
1DINCA
ELVIRA
3EFTIMIE
MARIA
4STANCA
IOANA

XIC
XIIA

10
9

ABSM cam

IXA

No

IXA
IXA

9
9.5

0
0

0
0

No
Yes

IXB 9.75

No

IXB

No

9MARINESCU IXB
ION

7.5

Yes

Yes

2SANDU
ELENA

IXC

SQL>SELECT[ELEVI].[NUME],[ELEVI].[MED]
FROMELEVIWHERE(((ELEVI.MED)<(SELECTMIN(MED)FROMADMISI)));
Rezultatulexecuieicomenzii:

SUBINTEROGARE
NUME MED
VLADDAN
7

Exemplulac:Aflaiprimii5elevidintabelaELEVIcucelemaimarimedii.ConinutultabeleiELEVIeste
urmtorul

ELEVI
COD
NUME
CLS MED ABSN ABSM cam
1ALBUANGELA
3BOGDANLAURA

IXA 9.5
IXB 9.75

2PANTELIMONIULIANA IXC
8ASPRUANA
XA
4IOSIFDANIELA
XB
10COLTEAVLAD
XIA

9
9
8
9

0
3

2 Yes
0 No

2
2
5
0

3
3
5
0

Yes
No
No
No

COD

NUME

ELEVI
CLS MED ABSN ABSM cam

9VLADDAN
7VLASCARALUCA

XIB
XIC

7
10

1
0

3 Yes
0 No

5DICUION
6POPESCULAVINIA

XIIA
XIIB

9
9.5

0
6

0 Yes
2 No

SQL>SELECTTOP5[ELEVI].[NUME],[ELEVI].[CLS],[ELEVI].[MED]FROMELEVI
ORDERBY[ELEVI].[MED]DESC;

Rezultatulexecuieicomenzii:

TOP5
NUME
VLASCARALUCA

CLS MED
XIC
10

BOGDANLAURA
IXB 9.75
ALBUANGELA
IXA 9.5
POPESCULAVINIA
XIIB 9.5
PANTELIMONIULIANA IXC
9

COLTEAVLAD
ASPRUANA

XIA
XA

9
9

DICUION

XIIA

Rapoartele reprezint modaliti de exploatare a bazelor de date, mai ales n cazul n care
situaiile astfel obinute sunt solicitate i pe suport hrtie. Pentru generarea unui raport se acceseaz
tipuldeobiectReportisealegeapoiopiuneaNew(fig.12.6.1.).

Fig.12.6.1.
CrearearapoartelorcuReportWizard
Dup alegerea opiunii Report Wizard (fig.12.6.2) urmeaz o succesiune de pai prin care
utilizatorul indic particularitile raportului de creat cu privire la aspectul formal sau de coninut.
Pentruexemplificare,sconsidermtabelulMater,acruistructuresteprezentnfig.12.6.3.

Fig.12.6.2.

Fig.12.6.3.

Pornind de la tabela Mater vom parcurge n continuare paii necesari generrii unui raport

simplu care s conin, sub forma unui tabel, toate nregistrrile tabelei.

Fig. 12.6.4.

La imaginea din fig. 12.6.4. ajungem prin click de mouse pe opiunea Report Wizard (fig.
12.6.2.). Din lista ascuns Tables Queries alegem tabela mater i pe ecran vor aprea cmpurile
disponibile ale tabelei (caseta Avaible Fields). Putem selecta oricare dintre cmpurile care apar n caset i
s le transferm n caseta Selected Fields. Pentru aceasta folosim butonul >. Dac dorim transferarea
tuturor cmpurilor disponibile n zona de cmpuri selectate, avem la dispoziie butonul >>. Putem face
i operaia de transfer n direcie invers, a unui cmp (butonul <) sau a tuturor cmpurilor (butonul
<<). Dup ncheierea seleciei de cmpuri, se utilizeaz butonul Next, trecndu-se astfel la pasul
urmtor.

Fig. 12.6.5.

Fereastra din fig. 12.6.5. permite utilizatorului indicarea, prin selecie cu mouse-ul, a
cmpurilor n raport cu valoarea crora dorim s realizm gruparea, pe diverse niveluri, a
nregistrrilor tabelei n cadrul raportului de generat. Pentru a reveni la fereastra anterioar se
poate accesa butonul Back, pentru renunare butonul Cancel, iar pentru continuarea aciunii de
generare, butonul Next (care este i cel implicit).
Pasul urmtor presupune apariia pe ecran a ferestrei din fig. 12.6.6. Acesta permite
alegerea formei raportului (Columnar, Tabular sau Justified pentru fiecare apare pe ecran, n
cadrul aceleai ferestre i un preview) i a tipului de orientare a paginii de hrtie pe care urmeaz
s fie tiprit raportul (Orientation, cu variantele Portrait sau Landscape).

Fig. 12.6.6.

Fig. 12.6.7.

Dup alegerea tipului de raport i a tipului de orientare a paginii pe care se afieaz


raportul se acceseaz cu mouse-ul butonul Next sau se tasteaz ENTER. Din fereastra care apare
astfel (fig. 12.6.7) se alege stilul de afiare a raportului.

Fig. 12.6.8.

Prin accesarea butonului Next sau apsarea tastei ENTER apare fereastra din fig. 12.6.8.
Se poate introduce numele raportului. Pot fi de asemenea activate sau dezactivate butoanele radio
care stabilesc dac se dorete vizualizarea raportului imediat dup crearea lui (Preview the
raport), sau dac se dorete s se ofere utilizatorului posibilitatea de a modifica raportul (Modify

the reports design). Utilizatorul are la dispoziie butoanele: Cancel (pentru anularea operaiunii
de creare raport), Back (pentru revenirea n fereastra anterioar) sau Finish (pentru ncheierea
operaiei de creare a raportului).
Pentru exemplul considerat, dup activarea butonului Finish, se vizualizeaz pe ecran
coninutul fizic al raportului creat (fig. 12.6.9.).

Fig. 12.6.9.

CrearearapoartelorcuAutoReport:Columnar

Aceast modalitate de creare a rapoartelor se alege atunci cnd dorim un raport simplu,
prin afiarea coninutului tuturor nregistrrilor tabelei indicate, cmpurile aceleai nregistrri
fiind afiate unele sub altele, pe coloan.
Pentru a alege aceast opiune de creare a raportului, se selecteaz din fereastra New
Raport opiunea AutoReport: Columnar i se indic numele tabelei ce ofer datele ce vor fi
cuprinse n raport. (fig. 12.6.10).

Fig. 12.6.10.

Fig. 12.6.11.

Dup accesarea butonului OK, pe ecran se va vizualiza raportul solicitat (fig. 12.6.11.).

CrearearapoartelorcuAutoReport:Tabular

Fig.12.6.12.

ProcedmsimilarcuceleprezentatelamoduldecreareColumnar,iseobinsuccesivferestrele
dinfigurile12.6.12.i12.6.13.

Fig.12.6.13.

Dup crearea oricruia dintre tipurile de rapoarte permise de ctre ACCESS, utilizatorul
are posibilitatea modificrii acestuia, pn la aducerea la forma dorit. Acest lucru l putem face

apelnd la butonul Design.


Deschiderea unui raport creat se poate face prin accesarea butonului Preview. Astfel,
raportul realizat pe exemplul anterior i prezent n fig. 12.6.13. poate fi adus la forma prezent n
figura 12.6.14.

Fig. 8.6.14.