Sunteți pe pagina 1din 143

1.

Baze de date Introducere


Nchil Ctlin laborator Access 1

Cuprins

Cuprins .................................................................................................................................... 1
1. Baze de date Introducere .................................................................................................. 4
1.1. Tipuri de baze de date................................................................................................... 4
1.1.1. Baze de Date Ierarhice........................................................................................... 4
1.1.2. Baze de Date Reea................................................................................................ 6
1.1.3. Baze de Date Relaionale....................................................................................... 8
1.1.4. Baze de Date Orientate pe Obiecte...................................................................... 10
1.2. SGBD (Acces) ............................................................................................................ 11
1.2.1. SGBD .................................................................................................................. 11
1.2.2. Arhitectura aplicaiilor Microsoft Access ........................................................... 12
2. Microsoft Access Tabele (Tables).................................................................................. 14
2.1. Crearea tabelelor......................................................................................................... 15
2.1.1. Design View........................................................................................................ 16
2.1.1.1. Descrierea cmpurilor (Zona A)................................................................... 16
2.1.1.2. Tipurile i subtipurile de date....................................................................... 17
2.1.1.3. Field Properties (Zona B) ............................................................................. 19
2.1.1.4. Definirea cheii primare i a indecilor.......................................................... 27
2.1.2. Datasheet View.................................................................................................... 28
2.1.3. Table Wizard ....................................................................................................... 29
2.1.4. Proprieti ale unui tabel...................................................................................... 29
2.1.5. Salvarea tabelelor ................................................................................................ 29
2.2. Operaii asupra nregistrrilor dintr-o tabel .............................................................. 30
2.2.1. Adugarea nregistrrilor..................................................................................... 30
2.2.2. tergerea de nregistrri....................................................................................... 30
2.2.3. Cutarea unei nregistrri se realizeaz n acces secvenial sau n acces direct .. 31
2.2.4. Modificarea nregistrrilor................................................................................... 31
2.2.5. Ordonarea nregistrrilor ..................................................................................... 32
2.2.6. nghearea afirii cmpurilor.............................................................................. 32
2.3. Definirea relaiilor ntre tabele ................................................................................... 33
2.4. Aplicaii ...................................................................................................................... 38
1. Baze de date Introducere
Nchil Ctlin laborator Access 2
3. Microsoft Access Interogri (Queries) ........................................................................... 48
3.1. Generaliti ................................................................................................................. 48
3.2. Interogarea prin selecie.............................................................................................. 50
3.2.1. Crearea unui obiect de tip interogare................................................................... 51
3.2.2. Modificarea unei cereri........................................................................................ 57
3.2.3. Utilizarea operatorilor.......................................................................................... 57
3.2.4. Cmpuri calculate n interogri de selecie.......................................................... 61
3.2.5. Utilizarea parametrilor......................................................................................... 69
3.2.6. Interogri de sintetizare a datelor ........................................................................ 73
3.2.7. Extragerea subcmpurilor dintr-un cmp ............................................................ 84
3.3. Interogarea tip tabel ncruciat ................................................................................... 87
3.4. Interogri de aciune ................................................................................................... 94
3.4.1. Interogri pentru crearea de noi tabele (Make Table Query) .............................. 94
3.4.2. Interogri pentru actualizarea datelor (Update Query)........................................ 96
3.4.3. Interogri pentru adugarea de nregistrri (Append Query) .............................. 97
3.4.4. Interogri pentru tergerea de nregistrri (Delete Query) .................................. 98
4. Microsoft Access Formulare (Forms) .......................................................................... 104
4.1. Generaliti ............................................................................................................... 104
4.2. Formularele Wizard.................................................................................................. 105
4.2.1. Form Wizard & AutoForm................................................................................ 105
4.2.2. Chart Wizard...................................................................................................... 108
4.2.3. Pivot Table Wizard............................................................................................ 108
4.3. Design View............................................................................................................. 110
4.3.1. Proprietile obiectelor Forms ........................................................................... 112
4.3.2. Controale n formulare (Toolbox) ..................................................................... 117
4.3.3. Proprietile controalelor ................................................................................... 118
4.4. Subformulare ............................................................................................................ 126
5. Microsoft Access Rapoarte (Reports) .......................................................................... 131
5.1. Generaliti ............................................................................................................... 131
5.2. Generarea rapoartelor cu instrumentul Wizard ........................................................ 133
5.3. Generarea rapoartelor folosind opiunea Design View............................................ 138
5.4. Crearea de rapoarte cu subrapoarte .......................................................................... 141
5.5. Proprieti ale obiectelor de tip raport i ale seciunilor lor ..................................... 141


1. Baze de date Introducere
Nchil Ctlin laborator Access 3


1. Baze de date Introducere
Nchil Ctlin laborator Access 4

1. Baze de date Introducere

Baz de date = una sau mai multe colecii de date aflate n interdependen, mpreun cu
descrierea datelor i a relaiilor dintre ele.

1.1. Tipuri de baze de date

Din punct de vedere al modului de organizare, structurare i accesare a datelor, cele mai
cunoscute tipuri de baze de date sunt:
baze de date ierarhice;
baze de date de tip reea;
baze de date relaionale;
baze de date orientate pe obiecte.

1.1.1. Baze de Date Ierarhice

Bazele de date ierarhice se caracterizeaz prin faptul c elementele componente au relaii
de subordonare de tip unu la muli, astfel nct fiecare entitate are n subordine una sau mai multe
entiti i este subordonat, la rndul ei, unei singure entiti superioare, conform modelului ierarhic
de organizare a datelor. n acest model de organizare a bazelor de date:
entitile (cmpurile i nregistrrile) sunt structurate sub form de noduri;
nodurile conecteaz ramurile unui arbore descendent; un nod de pe nivelul inferior este
subordonat unui singur nod din nivelul ierarhic imediat superior, dar poate fi n relaie cu n
noduri aflate la nivelul inferior; altfel spus: fiecare entitate are un nod printe i mai multe
noduri copil;

Observaii.
dac se terge un nod printe, se terg toate nodurile copil subordonate;
un nod copil poate fi adugat numi dac au fost adugate mai nti nodurile printe;
ntre nodurile copii nu pot fi stabilite relaii.

Exemplul 1: Baz de date pentru sistemul de rezervri a unei companii aeriene. Nodul
printe = Bucureti. Acest nod are patru copii: Cluj, Constana, Iai, Timioara. Timioara are doi
copii: 210 i 211. Zborul 210 are trei copii: pasagerii.

1. Baze de date Introducere
Nchil Ctlin laborator Access 5

Bucureti
Cluj Constana Iai Timioara
211 210
Persoana 3 Persoana 2 Persoana 1
Plecare
Sosire
Nr. zbor
Pasager


Fig. 1.1. Exemplul 1


Exemplul 2: Se consider o baz de date cu informaii despre angajaii i serviciile
(departamentele) unei companii. Un serviciu poate avea mai muli angajai, n schimb, un angajat
poate face parte dintr-un singur serviciu.



Fig. 1.2. Exemplul 2 Diagrama de structur



Servicii
Conducere Marketing Contabilitate
Pop Ion
Dir.
Gen.
Maria Stan Ec. Petre Ioana Ec. 10
1 2 3
31 32 lie Dan
Dir.
Ec.
30


Fig. 1.3. Exemplul 2 nregistrri (Realizri)

1. Baze de date Introducere
Nchil Ctlin laborator Access 6

1.1.2. Baze de Date Reea

Acest model este similar cu modelul de tip ierarhic cu deosebirea:
c un nod copil poate s aib mai multe noduri prini;
ntre nodurile printe i nodurile copil se adaug conexiuni adiionale (unui nod i se poate
aduga o cale nou i pot fi trasate ramuri noi);
n aceast organizare fiecare entitate poate avea un numr nelimitat de conexiuni.

Exemplul 3: Baza de date a produselor care s execut ntr-o fabric. Fiecare produs este
format din mai multe ansambluri, iar fiecare ansamblu este format din mai multe piese. Fiecare
pies poate intra n componena mai multor produse.




Fig. 1.4. Exemplul 3


Exemplul 4: Se consider o baz de date cu informaii despre angajai, funciile i serviciile
(departamentele) unei companii. Un serviciu poate avea mai muli angajai, n schimb, un angajat
poate face parte dintr-un singur serviciu. O funcie poate fi ocupat de mai muli angajai, n
schimb, un angajat poate ocupa o singur funcie.




Fig. 1.5. Exemplul 4 Diagrama de Structur
1. Baze de date Introducere
Nchil Ctlin laborator Access 7



Fig. 1.6. Exemplul 4 nregistrri


n exemplul luat:

tipului de nregistrare printe Servicii i corespund trei nregistrri:
(1, Conducere), (2, Marketing) i (3, Contabilitate)
tipului de nregistrare Funcii patru nregistrri:
(101, Dir Gen), (201, Dir Corn), (301, Dir Ec) i (302, Ec),
tipului de nregistrare Angajat tot patru nregistrri:
(10, Pop Ion, Dir Gen), (30, Ilie Dan, Dir Ec), (31, Stan Mria, Ec) i (32 Petre Ioana, Ec).
nregistrrile (1, Conducere) - Servicii i (101, Dir Gen) - Funcii - sunt prini pentru
(10, Pop Ion, Dir Gen) - Angajat.
nregistrrile (2, Marketing) i (201, Dir Corn) nu au nregistrri copil.
nregistrarea (30, Ilie Dan, Dir Ec) are drept prini (3, Contabilitate) - Servicii - i (301, Dir
Ec) - Funcii.
nregistrrile (57, Stan Mria, Ec) i (32, Petre Ioana, Ec) - Angajat sunt copii nregistrrilor
(3, Contabilitate) - Servicii i (302, Ec) - Funcii.
1. Baze de date Introducere
Nchil Ctlin laborator Access 8

1.1.3. Baze de Date Relaionale

Modelul relaional asociaz unei entiti o tabel bidimensional numit relaie.

Baza de Date Relaional este o colecie de tabele (sau fiiere de date) numite relaii sau
structuri, legate ntre ele prin cmpuri comune numite cmpuri cheie.
n tabel, coloanele reprezint atributele entitii iar liniile (rndurile) tabelei reprezint
membrii entitii.
Fiecare coloan are un nume distinct, prima linie fiind destinat amplasrii acestor nume de
atribute. O linie dintr-o relaie se numete tuplu. Numrul de tupluri dintr-o relaie reprezint
cardinalitatea relaiei.
Numrul de atribute (n n figura 1.7) se numete gradul relaiei.
La nivelul organizrii fizice exist urmtoarele corespondene:
o relaie poate fi asociat unui fiier,
un tuplu se asociaz cu o nregistrare,
coloan corespunde unui cmp din nregistrare.




Fig. 1.7. Elementele unei relaii


Privit prin prisma modelului relaional, baza de date apare ca o colecie de relaii (tabele),
n care fiecare coloan reprezint un atribut distinct, iar fiecare rnd, un tuplu distinct, de unde i
apelativul tabel bidimensional.
1. Baze de date Introducere
Nchil Ctlin laborator Access 9

Cheia este un cmp (atribut) sau un ansamblu de cmpuri (atribute) care au rolul de a
identifica un tuplu dintr-o tabel.
Tipuri de chei:
primare / alternate,
simple / comune,
externe.
Tuplurile unei relaii se pot identifica n mod unic prin intermediul valorilor unuia sau mai
multor cmpuri (eventual toate cmpurile), care joac rol de cheie primar a relaiei respective.
Se numete domeniu primar un domeniu pe care este definit un singur atribut drept cheie
primar. Dndu-se dou relaii R1 i R2 cu atributele A1 i A2 chei primare definite pe acelai
domeniu primar D, spunem c A1 este cheie extern, dac, utiliznd o parte din valorile sau toate,
putem regsi tuplurile relaiei R2.
Altfel spus, un atribut al unei relaii este cheie extern, dac se regsete pe post de cheie
primar ntr-o alt relaie.
Nici un cmp (atribut) care particip la formarea cheii nu poate avea valori nule.

Exemplul 5: O baz de date ce conine 4 tabele. Cmpurile tabelelor sunt:
elevi id_e, nume_e, pren_e, adresa_e;
note id_n, id_e, id_d, nota1, nota2, nota3;
disciplin id_d, id_p, dendisciplin;
profesori d_p, nume_p, pren_p, adresa_p;

id_e nume_e pren_e adr_e id_n id_e id_d nota1
id_d id_p dendisciplin id_p nume_p pren_p adr_p
nota2 nota3


Fig. 1.8 Exemplul 5 Relaii
1. Baze de date Introducere
Nchil Ctlin laborator Access 10


1.1.4. Baze de Date Orientate pe Obiecte

Bazele de date orientate pe obiecte, numite i baze de date obiectuale, sunt construite pe
modele de date complexe, structurate pe obiect. Conceptul de obiect definete o entitate
informaional att ca structur ct i ca funcii (comportament).
Bazele de date orientate pe obiect reprezint o abordare mai eficient fa de cele
menionate, dar nu le substituie total. Superioritatea acestora poate fi rezumat n urmtoarele:
se construiesc o singur dat i pot fi utilizate de nenumrate ori, ceea ce asigur crearea
rapid de aplicaii complexe;
modificrile intervenite pe parcurs nu afecteaz toat logica aplicaiei, ci doar obiectele
respective, asigurnd astfel o flexibilitate sporit a ntregului sistem.
1. Baze de date Introducere
Nchil Ctlin laborator Access 11

1.2. SGBD (Acces)

1.2.1. SGBD

Pentru crearea unei baze de date, pentru actualizarea coninutului acesteia, pentru
consultarea i prelucrarea datelor stocate aici este utilizat un sistem specializat de programe
cunoscut sub denumirea de Sistem de Gestiune a Bazelor de Date (SGBD).
SGBD reprezint ansamblul de programe care asigur interfaa ntre baza de date i
utilizatorii acesteia.
Un SGBD trebuie s asigure urmtoarele funcii elementare:
definirea bazei de date;
ncrcarea bazei de date;
introducerea datelor n baza de date;
accesul la date (interogare, actualizare);
modificarea unor date existente n baza de date;
tergerea unor date;
extragerea informaiilor stocate n baza de date;
protejarea datelor; etc.
Exemple de SGBD: Access, Oracle, Fox, dBase

Cele mai importante caracteristici ale SGBD-ului Access sunt:
este un sistem de gestiune a bazelor de date relaional;
posibilitatea crerii unei baze de date care s poat fi utilizat de ctre un utilizator sau mai
muli utilizatori n mod partajat;
creeaz o baz de date care poate fi utilizat n mod exclusiv sau n mod multiutilizator;
permite interogarea bazei de date fie n mod grafic, utiliznd interfaa QBE (Query By
Example), fie utiliznd limbajul SQL (Structured Query Language);
permite automatizarea unor activiti/aciuni prin programare n limbajul VBA (Visual Basic
for Applications) sau apelnd la generatorul de macrocomenzi;
realizarea importului/exportului de date ctre alte aplicaii ale pachetului Microsoft Office sau
ale SGBD relaionale (FoxPro, xBase, Paradox, etc.) ;
permite accesul la baze de date din reeaua Internet, fiind un instrument util pentru publicarea
informaiilor n paginile Web;
permite utilizarea obiectelor ACCESS din cadrul altor aplicaii rulate sub sistemul de
operare Windows;
permite crearea de grupuri de obiecte definite de utilizator n cadrul bazei de date.
1. Baze de date Introducere
Nchil Ctlin laborator Access 12

1.2.2. Arhitectura aplicaiilor Microsoft Access

O baz de date ACCESS poate fi definit ca o colecie de obiecte: tabele (table), cereri de
interogare (query), formulare (form), rapoarte (report), pagini Web (pages), comenzi macro (macro)
i module (module).



Fig. 1.9. Aplicaia Microsoft Access

Trebuie subliniat diferena major care exist ntre Microsoft Access i alte sisteme de
gestiune a bazelor de date. Astfel, n Visual FoxPro, prin baze de date (database) se neleg doar
acele fiiere n care sunt stocate datele.
Tabele (Table) este un obiect definit de utilizator n care sunt stocate datele (expresia
modelului relaional).
Formularul (Form) este un obiect care permite introducerea datelor, afiarea acestora sau
controlul ntregii aplicaii.
Interogarea (Query) este un obiect care permite vizualizarea informaiilor obinute prin
prelucrarea datelor din una sau mai multe tabele (permit extragerea din baza de date a acelor
date de care utilizatorul are nevoie).
Raportul (Report) este un obiect care permite formatarea i tiprirea informaiilor
obinute n urma consultrii bazei de date sub form de documente.
Pagina Web de accesare a datelor (Pages) reprezint un obiect care include un fiier HTML
i alte fiiere suport n vederea furnizrii accesului la date prin intermediul browser-elor
Internet.
1. Baze de date Introducere
Nchil Ctlin laborator Access 13
Comanda Macro (Macro) reprezint un obiect care conine o definiie structurat a
uneia sau mai multor aciuni pe care Access le realizeaz ca rspuns la un anumit eveniment.
Modulul (Module) reprezint un obiect care conine proceduri definite de utilizator i scrise
n limbajul de programare Visual Basic.

n figura 1.10 sunt prezentate legturile ce exist ntre diferitele obiecte ce compun o
aplicaie realizat n Access. Astfel, n cadrul tabelelor sunt stocate datele introduse iniial de
utilizator sau extrase cu ajutorul cererilor de interogare i sunt afiate sub form de rapoarte sau sunt
modificate cu ajutorul formularelor sau paginilor Web de accesare a datelor. Cererile de interogare
pot folosi funcii Visual Basic n vederea realizrii unor calcule definite de utilizator.




Fig. 1.10. Legturi ntre obiectele Microsoft Access
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 14


2. Microsoft Access Tabele (Tables)

Datele ce fac obiectul prelucrrii (datele de intrare) vor fi memorate ntr-o baz de date;
elementele fundamentale ce creeaz o baz de date relaional sunt tabelele. Este esenial ca fiecare
tabel al bazei de date s conin informaii specifice unui singur tip de obiecte.
Un tabel reprezint o colecie de date legate ntre ele, memorat pe linii i coloane; fiecare
linie conine o nregistrare (entitate complet de date referitoare la un anumit tip de obiecte). La
rndul ei, fiecare nregistrare este compus din coloane sau cmpuri (un cmp reprezentnd cea mai
mic entitate de date).
ntr-un tabel se stocheaz att descrierea structurii tabelei ct i nregistrrile de date.
Lansarea aplicaiei Access se poate realiza din Start > Programs > Microsoft Access sau
prin dublu click pe pictograma Access. n ambele cazuri pe ecran se afieaz fereastra de baz
Access (figura 2.1).



Fig. 2.1. Microsoft Access Fereastra principal

2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 15

2.1. Crearea tabelelor

Gestiunea tabelelor (creare, modificare, vizualizare, tergere) unei baze de date Access se
poate realiza din seciunea Tables a ferestrei bazei de date (Database Window) figura 2.2.. n
aceast seciune se gsesc controale specifice care permit crearea, modificarea sad vizualizarea
structurii unui tabel.





Fig. 2.2. Database Window


Exist mai multe modaliti de creare a tabelelor puse la dispoziie de ctre Access:
alegnd comanda Table din meniul Insert;
prin acionarea butonului de comand New din fereastra Database Window;
folosind hiperlink-urile salvate n fereastra bazei de date (Create table in Design View, Create
table by using wizard, Create table by entering data);
importnd dintr-o baz de date (Import Table);
legnd de alte tabele aparinnd altor baze de date (Link Table).
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 16

2.1.1. Design View

Design View este echivalent cu acionarea hyperlink-ului Create table in Design View.
Utilizatorul stabilete absolut toi parametrii necesari pentru descrierea structurii unui tabel: numele
cmpurilor, tipurile de date ale acestora; reguli de validare, etc..
Fereastra Access de descriere a tabelei (figura 2.3) este format din dou zone:
zona A n care se definesc cmpurile din structura tabelei
zona B n care sunt precizate proprietile acestora.



Fig. 2.3. Design View

2.1.1.1. Descrierea cmpurilor (Zona A)

Numele cmpului (Field Name) trebuie s respecte urmtoarele reguli:
poate s conin litere (majuscule sau minuscule), cifre i caractere speciale;
poate s conin maximum 64 de caractere;
este interzis utilizarea caracterelor: punct (.), semnul exclamrii (!), parantezele drepte ([]);
numele cmpului nu poate s nceap cu un spaiu.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 17
n formarea numelui cmpului se recomand:
s nu se utilizeze caracterul spaiu; pentru mbuntirea lizibilitii numelui se poate nlocui
spaiul cu caracterul de subliniere ( _ ) sau se pot utiliza litere majuscule i minuscule n
acelai nume;
reducerea lungimii numelui cmpurilor pentru a conserva resursele sistemului i pentru a scuti
utilizatorul de introduceri lungi atunci cnd se fac referiri la numele cmpului.

Tipul de date al cmpului (Data Type); utilizatorul are la dispoziie zece tipuri de date
de baz (tabelul 2.1.), pentru unele dintre ele fiind disponibile subtipuri de date, n funcie
de necesiti; subtipurile se configureaz n zona de jos a ferestrei (seciunea General).
Comentarii (Description) proprietate opional, unde utilizatorul poate introduce sub
form de iruri de caractere diverse informaii cu privire la cmp.

2.1.1.2. Tipurile i subtipurile de date

Tipurile i subtipurile de date Access sunt prezentate n tabelul 2.1..

Tip de date Subtip de Date Descriere
Text
Este un tip de date alfanumeric, de lungime maxim 255.
Implicit, Access propune dimensiunea (proprietatea Field Size)
50 pentru un cmp de tip Text. Un cmp de acest tip poate s
conin practic orice caracter.
Memo
Este un tip de date alfanumeric (poate conine orice caracter), n
lungime maxima de 65535 caractere. Utilizatorul nu poate
configura o dimensiune mai mic dect aceasta.
Byte
Tip de date ntreg a crui plaj de valori admis este ntre 0 i
255. Spaiul ocupat de un asemenea cmp este de 1 byte.
Integer
Tip de date ntreg cu plaja de valori admis ntre (
32768, 32768). Ocup 2 bytes.
Long Integer
Tip de date ntreg de dimensiuni mari cu plaja de valori admis
ntre (2147483648, +2147483647). Ocup 4 bytes.
Number
Single
Tip de date cu plaja de valori admis n intervalul
( )
38 45
3, 402823 10 , 1, 401298 10

pentru numere negative,


iar pentru numere pozitive n intervalul
( )
45 38
1, 401298 10 , 3, 402823 10

. Ocup 4 bytes i are


precizie de 7 zecimale.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 18
Tip de date Subtip de Date Descriere
Double
Tip de date de dimensiuni foarte mari cu plaja de valori admis
n intervalul
( )
324 308
10 1247 9406564584 , 4 ; 10 6231 7976931348 , 1


pentru numere negative, iar pentru numere pozitive n intervalul
( )
308 324
10 6231 7976931348 , 1 ; 10 1247 9406564584 , 4

. Ocup
8 bytes i are precizie de 15 zecimale.
Replication ID
Tip de date GUID (Global unique identifier). Ocup 16 bytes.
Sunt utile pentru cmpurile care sunt (sau fac parte dintr-o)
cheie extern ale cror chei primare sunt de tipul AutoNumber,
ReplicationID.
Decimal
Tip de date cu plaja de valori admis ntre
1 10
28
i 1 10
28
. Ocup 12 bytes i precizie (proprietatea
Precision) maxim de 28.
Date / Time
Memoreaz date calendaristice, inclusiv ora i formate
predefinite. Datele calendaristice admise sunt ntre anul 100 i
9999. Formatele de afiare se stabilesc n proprietatea Format.
Ocup 8 bytes.
Currency
Tip de date numeric, care opereaz cu maxim patru zecimale i
maxim 15 poziii n stnga punctului zecimal. Ocup 8 bytes.
LongInteger
Tip de date care i atribuie automat valori, la crearea unei noi
nregistrri. Valorile atribuite pot fi secveniale (proprietatea
NewValues = Increment) sau aleatoare (proprietatea New
Values = Random). Cmpurile de tip AutoNumber, nu pot fi
actualizate. Ocup 4 bytes. AutoNumber
Replication ID
Tip de date care i atribuie automat valori de tip GUID.
Exemplu de valoare GUID: {E0DC2C27-EDE8-412A-B1C4-
AF69021A1365}. Ocup 16 bytes.
Yes / No
Tip de date logic, care poate lua doar dou valori: adevrat
(valoarea 1) sau fals (valoarea 0). Ocup 1 bit.
OLE Object
Tip de date care poate s includ imagini, documente Word, foi
de calcul Excel, etc. Dimensiunea maxim este de 1 Gb, cu
condiia s existe acest spaiu pe disc. Nu poate fi cheie i nici
nu poate fi index.
Hyperlink
ir de caractere, care poate memora o adres Web, ce va fi
utilizat sub form de hyperlink. Este format din trei pri:
textul de afiat, adresa i subadresa. Dimensiunea maxim a
fiecrei pri este de 2048 caractere.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 19
Tip de date Subtip de Date Descriere
Lookup
Wizard

Cmpuri ale cror valori vor fi completate automat prin selecia
dintr-o list simpl de valori (List Box) sau dintr-o list
derulant de valori (Combo Box).

Tabelul 2.1. Tipuri de date


2.1.1.3. Field Properties (Zona B)

n zona B (General i Lookup) se pot stabili valori pentru dou categorii de proprieti:
proprieti pe care le au toate cmpurile;
proprieti specifice anumitor cmpuri, n funcie de tipul de date.

Proprieti din categoria General:

Field Size stabilete dimensiunea maxim admis pentru tipurile de date Number,
AutoNumber, Text; pentru primele dou, valorile sunt precizate n tabelul 2.1, iar pentru
tipul Text o valoare ntre 0 i 255;

Decimal places stabilete numrul de zecimale utilizat pentru afiarea unui numr;
valorile posibile sunt Auto (numrul este afiat cu attea zecimale cu ct a fost calculat;
nu sunt afiate mai mult de 15 zecimale) sau un numr ntre 0 i 15.

Format stabilete formatul de afiare a unui cmp; aceste formate se pot defini de
utilizator cu ajutorul unor secvene speciale
sau, pentru unele tipuri de date, exist deja
predefinite formate uzuale. Formatul dorit se
selecteaz din lista oferit n urma activrii
butonului de control. Pentru datele de tip
numeric, de exemplu, se poate opta ntre
urmtoarele formate de afiare: General
Number, Currency, Euro, Fixed, Standard,
Percent, Scientific; (fig. 2.4.)

Pe lng aceste formate predefinite se mai pot utiliza anumite combinaii speciale de
caractere. Caracterele ce se pot utiliza ntr-un format de afiare al unui cmp numeric sunt
prezentate n tabelul 2.2..

Fig. 2.4. Number -> Format
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 20

Pentru cmpurile numerice formatul de afiare se mparte n patru zone separate prin
caracterul ; :
prima zon se refer la modul de afiare al numerelor pozitive;
a doua zon se refer la modul de afiare al numerelor negative;
a treia zon se refer la modul de afiare al numrului zero;
a patra zon se refer la modul de afiare al valorii Null.

.
separatorul zecimal
este punctul
# sunt afiate cifre sau spaiu
,
separatorul miilor este
virgula
$ este afiat i caracterul $
0
sunt afiate cifre sau
zero
%
numrul este nmulit cu
100 i alturi este afiat
caracterul procent
E+, E-, e+, e-
stabilete formate de
afiare n format
tiinific


Tabel 2.2. Caracterele ce se pot utiliza ntr-un format de afiare al unui cmp numeric


Caption stabilete un ir de caractere care va fi afiat n titlul unei coloane, n
momentul introducerii datelor; dac aceast proprietate nu are nici o valoare, irul afiat
n titlul unei coloane este chiar numele cmpului; valoarea acestei proprieti nu are nici
o influen asupra numelui cmpului n utilizarea sa n interogri, VBA, etc.

Exemplu: dac numele unui cmp este DenProd, i n proprietatea Caption se scrie
Denumire Produs.

Default Value stabilete o valoare implicit care este propus n momentul n care se
introduc date ntr-un tabel; se recomand n cazul n care exist o valoare preponderent a
coninutului unui cmp; n cazul n care utilizatorul nu introduce o alt valoare n cmpul
respectiv, valoarea din aceast proprietate va fi memorat n coninutul acestuia.

Exemplu: pentru un cmp care memoreaz valoarea TVA, innd cont c pentru majoritatea
produselor aceasta este 19%, pentru a uura munca de culegere date, este recomandat ca n
proprietatea Default Value s se stabileasc aceast valoare. La introducerea datelor, dac un produs
are aceast cot, atunci valoarea sa nu se mai tasteaz.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 21

Input Mask stabilete un format (masc, ablon) de introducere a datelor pentru un
anumit cmp. La fel ca n cazul proprietii Format, exist o serie de caractere prin care
se stabilete acest format de introducere a datelor; n cazul n care se utilizeaz ambele
proprieti, proprietatea Format are prioritate fa de proprietatea Input Mask.

Proprietatea Input Mask pune la dispoziia utilizatorului cteva mti predefinite dar i
posibilitatea definirii unor mti personalizate. Mtile personalizate se definesc sub forma a trei
zone separate prin caracterul punct i virgul (;):
prima zon se utilizeaz pentru definirea propriu-zis a formatului de introducere;
a doua zon, se utilizeaz pentru a specifica dac se memoreaz i caracterele care fac parte
din ablonul de introducere sau nu; valoarea zero stabilete c se memoreaz inclusiv
caracterele din definiia ablonului, iar valoarea unu inhib aceast posibilitate:
a treia zon se utilizeaz pentru a specifica un caracter, care este afiat ntr-o poziie din
ablon.

Caractere ce se pot utiliza pentru definirea unui ablon de introducere a datelor sunt
prezentate n tabelul 2.3..

Exemple:

\O\R\A\:00:00:00 va afia i cuvntul ORA: fr a fi memorat. De remarcat c
Access transform automat secvena \O\R\A\: n ORA:.

"(040)-"00\-00000## este un posibil ablon pentru introducerea unui numr de
telefon din Romnia; la introducere va afia: (040)__ . Prin utilizarea caracterului 0,
nu se permit prefixe dect din dou cifre, i numere de telefon de minim 5 cifre, iar prin utilizarea
caracterului # sunt permise numere din 6 i 7 cifre.

>AAAA<aaaa definete un format de introducere n care primele 4 caractere sunt
obligatorii i sunt transformate automat n majuscule, iar urmtoarele 4 sunt
opionale i transformate automat n minuscule.

Utilizarea proprietii Input Mask inhib tasta Insert, singurul mod de lucru fiind cel de
suprascriere.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 22

0
sunt permise toate cifrele de la 0 la 9,
fr semn; nu se permite coninut
incomplet al cmpului, dac se utilizeaz
acest simbol. Exemplu: o masc definit
sub forma 000000, va afia la
introducere i nu va permite dect
introducerea a exact ase cifre.
<
caracterele introduse
sunt convertite n
minuscule
9
sunt permise toate cifrele de la 0 la 9,
fr semn, inclusiv spaiu; este permis
coninutul incomplet;
>
caracterele introduse
sunt convertite n
majuscule
#
sunt permise cifrele de la 0 la 9, inclusiv
spaiu, semn; este permis coninutul
incomplet
. ,
separatorul pentru
zecimale, pentru mii
L
sunt permise literele de la A la Z; nu este
permis coninutul incomplet al
cmpului
: ; /
separatori pentru date
calendaristice i pentru
timp
?
sunt permise literele de la A la Z i
coninutul incomplet
password
afieaz caracterul
asterisc (*) n
momentul introducerii
de date
A
sunt permise toate literele i cifrele; nu
este permis coninutul incomplet al
cmpului
\
afieaz un caracter n
ablon fr a determina
memorarea acestuia n
coninutul cmpului
&
orice caracter sau spaiu; nu este permis
coninutul incomplet al cmpului
C
orice caracter sau
spaiu i coninut
incomplet al cmpului

Tabel 2.3. Caractere ce se pot utiliza pentru definirea unui ablon de introducere a datelor

Validation Rule definete o regul de validare pentru un cmp, practic o expresie ce se
a testa pentru coninutul introdus ntr-un cmp. Regulile de validare se testeaz dup
introducerea unei valori ntr-un cmp sau n momentul n care se ncearc salvarea unei
nregistrri (n momentul n care se ncearc introducerea unei nregistrri noi, la trecerea
ie la o nregistrare la alta, sau la salvarea explicit a acesteia) pentru cmpurile nevizitate
de utilizator. Dac o regul de validare a unui cmp nu se verific, nregistrarea nu se
poate salva dect dac se corecteaz coninutul cmpului n aa fel nct s se verifice
regula de validare stabilita Expresia pentru aceast proprietate se poate scrie i n mod
asistat cu ajutorul ferestrei Expression Builder, ce poate fi invocat din butonul .

2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 23

Numele cmpurilor dintr-o expresie Validation Rule trebuie scris ntre caracterele [ ]. O
expresie Validation Rule la nivel de cmp nu poate referi alte cmpuri, dect cel curent. Se pot
utiliza funcii Access, constante, operatori, etc.

Exemple de reguli de validare pentru un cmp de tip Number, Integer:
>100 and <=200 stabilete valorile posibile ntre 101 i 200
<>Null sau Is Not Null cmpul trebuie s conin o valoare.

Exemple de reguli de validare pentru un cmp de tip Text:
"Clrai" Or "Bucureti" Or "Braov"
In("Calarai"; "Bucureti"; "Braov") valoarea cmpului nu poate fi dect
una din cele trei.
Mid([nume];l;l)="A" primul caracter introdus n cmpul nume nu poate fi dect A sau
a.

Exemple de reguli de validare pentru un cmp de tip Date/Time:
>=Date() data introdus trebuie s fie mai mare sau egal cu data sistemului.
Year([data factura])=Year(Date()) anul din cmpul data factura trebuie s fie
n momentul introducerii, acelai cu cel din data sistemului.

Validation Text definete un mesaj de atenionare care va fi afiat n momentul n care
regula de validare definit n proprietatea Validation Rule este nclcat.

Required poate lua valoarea Yes sau No, corespunztoare valorilor logice adevrat
(True) sau fals (False) i stabilete dac valoarea unui cmp este obligatoriu (Yes) de
introdus sau nu (No). Pentru cmpurile de tip Text, Memo, Hyperlink este bine s se
utilizeze aceast proprietate n strns legtur cu proprietatea Allow Zero Length.

Allow Zero Length stabilete dac este permis introducerea unui ir de lungime zero
(Yes) sau nu (No) ntr-un cmp de tip Text, Memo sau Hyperlink. Variantele de
memorare n condiiile utilizrii proprietilor Required i Allow Zero Length sunt
prezentate n tabelul 2.5.

Date/Time formatele predefinite
de afiare pentru cmpurile de tip
sunt prezentate n figura 2.5.

Fig. 2.5. Date -> Format
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 24

: separator pentru timp mmmm este afiat numele complet al lunii
/ separator pentru data calendaristic y numrul zilei din an
d
ziua este afiat sub form de
valori de la 1 la 31
yy
sunt afiate ultimele dou caractere
din an de la 01 la 99
dd
ziua este afiat sub form de
valori de la 01 la 31
yyy
anul este afiat complet de la 100 la
9999
ddd
sunt afiate numai primele trei
caractere din numele unei zile
q
data este afiat ca numrul
trimestrului din an, de la 1 la 4
dddd
este afiat numele complet al unei
zile
h
ora este afiat prin numere de la 0
la 23
w
ziua este afiat ca valoare din
sptmn, de la 1 la 7
hh
ora este afiat prin numere de la 00
la 23
ww
este afiat numrul sptmnii n
an, de la 1 la 53
n
minutele sunt afiate prin numere
de la 0 la 59
m
este afiat numrul lunii din an, de
la 1 la 12
nn
minutele sunt afiate prin numere
de la 00 la 59
mm
este afiat numrul lunii din an de
la 01 la 12
s
secundele sunt afiate prin numere
de la 0 la 59
mmm
sunt afiate numai primele trei
caractere din numele unei luni
ss
secundele sunt afiate prin numere
de la 00 la 59
AM/PM sau am/pm sau A/P sau a/p
este afiat AM, am, A sau a pentru primele 12
ore ale zilei i PM, pm, P sau p pentru ultimele
12 ore din zi

Tabel 2.4. Caractere care se pot utiliza ntr-un cmp de tip Date/Time

Exemple:
"Data: "dd/mm/yy" sptmna: "ww afieaz Data: 01/06/01
sptmna: 22
dddd/mmmm/yyyy afieaz vineri/iunie/2001
"ORA:"hh:nn:ssAM/PM afieaz ORA:12:00:00AM
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 25


Valoarea din
proprietatea
Allow zero length
Valoarea din
proprietatea
Required
Aciunea
utilizatorului
Valoarea memorat
Enter Null
Bara spaiu Null No No
ir de lungime 0 Nu este permis
Enter Null
Bara spaiu Null No Yes
ir de lungime 0 Nu este permis
Enter Null
Bara spaiu Null Yes No
ir de lungime 0 ir de lungime 0
Enter Nu este permis
Bara spaiu Nu este permis No Yes
ir de lungime 0 Nu este permis
Enter Nu este permis
Bara spaiu ir de lungime 0 Yes No
ir de lungime 0 ir de lungime 0

Tabel 2.5. Proprietile Allow zero length i Required


Indexed stabilete un cmp drept index. Valori posibile:
No - neindexat
Yes (Duplicates OK) sunt permise valori duplicate pe cmpul index;
Yes (No Duplicates) index; nu sunt permise valori duplicate pe acest cmp.

2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 26

Pentru cmpurile de tip Yes/No formatele de afiare predefinite sunt: True/False, Yes/No,
On/Off.
Pe lng aceste formate predefinite, utilizatorul i poate crea propriile formate pentru
cmpurile logice ntr-o structur format din trei zone separate prin caracterul ; .
n prima zon, se poate stabili un text care nu are influen asupra coninutului cmpului;
a doua zon este utilizat pentru a stabili un text afiat n cazul n care valoarea memorat este
adevrat (True);
a treia zon este utilizat pentru textul afiat n cazul n care valoarea memorat este False.

n cazul cmpurilor de tip logic, efectul formatelor definite de utilizator se poate observa
numai dac se utilizeaz controale de tip caset de text (Text Box).

n cazul cmpurilor de tip Text sau Memo, nu exist formate predefinite de afiare, ns prin
intermediul unor caractere, utilizatorul i poate stabili propriile formate. Aceste formate se stabilesc
sub forma a dou zone:
prima zon se utilizeaz pentru a stabili formatul propriu-zis de afiare al coninutului
cmpului;
a doua zon, pentru stabilirea formatului de afiare n cazul valorilor vide sau Null.

Caractere ce se pot utiliza pentru stabilirea formatelor de afiare pentru cmpurile de tip Text
sau Memo:
@ este obligatorie introducerea unui caracter sau spaiu;
& nu este obligatorie introducerea unui caracter;
> transform toate caracterele n majuscule, indiferent de modul de tastare;
< transform toate caracterele n minuscule, indiferent de modul de tastare;

Exemplu: <; Nu exista text va afia irul introdus cu litere minuscule, iar n cazul n care
nu este introdus un ir va afia textul Nu exista text.

Aa cum s-a amintit, pe lng aceste formate de caractere predefinite se pot utiliza i
secvene speciale de caractere, care pot fi utilizate dup necesiti. Sunt caractere care se pot utiliza
pentru orice tip de cmp i caractere care se pot utiliza numai pentru anumite tipuri de date.
Caractere care se pot utiliza n orice tip de cmp :
ir caractere afieaz irul de caractere dintre ghilimele mpreun cu coninutul cmpului;
! aliniaz coninutul unui cmp la stnga, n loc de alinierea dreapta;
[Culoare] afieaz coninutul unui cmp n culoarea precizat;
(space)
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 27

2.1.1.4. Definirea cheii primare i a indecilor

Orice tabel trebuie s posede o cheie primar (Primary Key), adic un cmp sau un grup de
cmpuri care identific n mod unic fiecare nregistrare. Dac utilizatorul nu stabilete o cheie
primar, Access stabilete una n mod implicit crend un cmp de tip AutoNumber care va conine
un numr unic pentru fiecare nregistrare. Dei Access creeaz n mod implicit o cheie primar,
urmtoarele raiuni recomand utilizatorului s defineasc o cheie primar:
cheia primar este un index.
indecii realizeaz o clasificare a datelor dup unul sau mai multe cmpuri ceea ce are drept
consecin creterea vitezei de realizare a interogrilor.
la fiecare adugare a unei noi nregistrri, Access nu autorizeaz nregistrri duble pentru
cmpul cheie primar.
Microsoft Access afieaz datele n ordinea cheii primare.

n afar de indeci pe un singur cmp se pot defini i indeci multipli, care funcioneaz pe
mai multe cmpuri simultan. Acetia se pot defini/modifica numai n fereastra Indexes. n aceeai
fereastr se pot gestiona i indecii pe un singur cmp. Fereastra cu indecii unei tabele (Indexes) se
activeaz din meniul View, opiunea Indexes (figura 2.5.)



Fig. 2.5. View -> Indexes
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 28
Pentru definirea unui index (sau pentru o cheie primar) format din mai multe cmpuri, se
scrie numele indexului n coloana Index Name, iar n coloana Field Name se aleg cmpurile care
formeaz indexul sau cheia primar.
Coloana Sort Order indic modul de ordonare al datelor n index. n cazul indecilor ce
includ mai multe cmpuri, valoarea proprietii Indexed, pentru fiecare cmp n parte este No.

Proprietile din fereastra Indexes:
Primary valoarea Yes indic faptul c indexul este cheie primar;
Unique valoarea Yes indic faptul c indexul va avea valori unice, nefiind permise
duplicatele; pentru o cheie primar, aceast proprietate are obligatoriu valoarea Yes.
Ignore Nulls - valoarea Yes indic faptul c sunt permise valorile Null ntr-un index;
pentru o cheie primar, aceast proprietate are obligatoriu valoarea No.

Pe lng modalitatea descris anterior, cheia primar a unui tabel se mai poate defini astfel:
dac este vorba de o cheie format dintr-un singur cmp, se poziioneaz cursorul n cmpul
respectiv, se acioneaz click dreapta i se alge opiunea Primary Key;
pentru chei primare formate din mai multe cmpuri, se selecteaz cmpurile din bordura
ferestrei de proiectare i se acioneaz butonul menionat anterior.

O cheie extern nu se definete explicit n Access sub noiunea de cheie extern, ea fiind
stabilit prin definirea relaiilor dintre tabele. Pentru creterea performanelor se recomand
definirea de indeci pentru fiecare cheie extern.

2.1.2. Datasheet View

Datasheet View este echivalent cu acionarea hyperlink-ului Create table by entering data.
n aceast variant, Access propune o fereastr de introducere date sub forma unui tabel cu nume de
cmpuri generice Field1, Field2....Field10. Inserarea de noi cmpuri pe lng cele zece propuse
implicit, se realizeaz din meniul Insert->Column.
Schimbarea numelor implicite ale coloanelor se realizeaz din meniul Format->Rename
Column funcie de datele introduse n celule, la salvarea tabelului, Access stabilete ce tip de date
va aloca fiecrui cmp.
Dac, de exemplu, coloana unui cmp conine celule cu numere i o celul cu un ir de
caractere, Access, va alege pentru acel cmp tipul de date Text. Dac o coloan conine numai
numere, Access va alege un tip de date numeric, care s satisfac toate valorile existente n celulele
cmpului. Aceast variant de creare a unui tabel este avantajoas doar n cazul n care se dorete
crearea rapid a unui tabel, fr a interesa prea mult tipurile de date ale cmpurilor, numele
acestora, stabilirea de reguli de validare i alte parametrizri importante, toate aceste operaii fiind
disponibile doar dup salvarea tabelului prin modificarea structurii acestuia (butonul de comand
Design View).
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 29

2.1.3. Table Wizard

Table Wizard este echivalent cu acionarea hyperlink-ului Create table by using wizard.
Alegerea acestei variante are ca efect activarea unei ferestre n care se propun diverse modele de
tabele cu o mare varietate de cmpuri.


2.1.4. Proprieti ale unui tabel

Pentru a vizualiza fereastra cu proprieti a unui tabel se activeaz opiunea Properties din
meniul View.
Validation Rule - are aceeai semnificaie ca proprietatea cu acelai nume ataat
cmpurilor, numai c opereaz la nivel de tabel. n momentul n care se ncearc salvarea
unei nregistrri (n momentul n care se ncearc introducerea unei nregistrri noi, la
trecerea de la o nregistrare la alta, sau la salvarea explicit a acesteia), dac nu se verific
aceast regul de validare, nu se va putea salva nregistrarea. Fa de aceeai proprietate
la nivel de cmp, la nivel de tabel, se pot referi mai multe cmpuri ale tabelului n
expresia care definete proprietatea.
Validation Text afieaz un mesaj n momentul n care regula de validare definit la
nivel de tabel, este testat i nu se verific.
Filter stabilete un criteriu n funcie de care vor fi selectate nregistrrile n fereastra
de introducere date. Pentru a activa/dezactiva filtrul trebuie acionat butonul Apply Filter
sau din meniul Records, opiunea Apply Filter/Sort respectiv Remove Filter/Sort.
Order By stabilete ordinea de afiare a nregistrrilor, n momentul introducerii
datelor. Numele cmpurilor trebuie precizate ntre [].

2.1.5. Salvarea tabelelor

Tabelele Access se pot salva n mai multe moduri:
din meniul File se alege opiunea Save;
se execut click pe butonul Save de pe bara cu instrumente de lucru;
se execut evenimentul click pe butonul de nchidere a ferestrei de descriere a tabelei
din meniul de control se alege opiunea Close
Indiferent de modul de salvare, Access afieaz caseta de dialog Save As care solicit
furnizarea unui nume pentru tabel. Utilizatorul introduce numele tabelei n caseta de text Table
Name i apoi execut click pe butonul OK. Numele tabelelor pot avea pn la 64 de caractere i
trebuie s respecte conveniile Access descrise pentru formarea numelor de cmpuri.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 30

2.2. Operaii asupra nregistrrilor dintr-o tabel

ntr-o tabel Access se pot realiza urmtoarele operaii:
Adugarea nregistrrilor;
tergerea de nregistrri;
Cutarea de nregistrri;
Modificarea nregistrrilor;
Ordonarea nregistrrilor;
Filtrarea nregistrrilor;

Pentru a efectua aceste operaii este necesar ca tabela s fie deschis n modul DataSheet
View.

2.2.1. Adugarea nregistrrilor

Dac tabela este deschis imediat dup creare, Access va afia o foaie de date vid, iar
pointerul de nregistrare va fi plasat pe prima i unica linie, pe butonul ei de selecie (butonul gri
din prima coloan din tabela afiat n modul Datasheet View).
Pentru a introduce date se plaseaz pur i simplu cursorul pe cmp i se introduce o valoare.
n timp ce se efectueaz aceast operaie, pointerul de nregistrare se transform ntr-un creion,
ilustrnd faptul c se editeaz o nregistrare. O nou linie vid apare dedesubtul primei linii. n locul
pointerului de nregistrare figureaz un asterisc indicnd o nou nregistrare.
Dac tabela care se deschide n modul Datasheet View conine date, pentru a aduga o nou
nregistrare trebuie plasat cursorul pe ultima linie (al crei pointer este un asterisc) i se introduce
noua nregistrare. Pentru plasarea cursorului pe ultima linie se execut click pe butonul New Record
de pe bara cu instrumente sau se alege Insert > Record sau se utilizeaz tasta sgeata n jos.

2.2.2. tergerea de nregistrri

Pentru a terge una sau mai multe nregistrri se selecteaz nregistrarea sau nregistrrile i
se acioneaz tasta Delete sau butonul Delete Record de pe bara cu instrumente sau se alege din
meniul Edit > Delete. Se recomand o atenie deosebit la tergerea nregistrrilor deoarece
Access nu permite anularea tergerii nregistrrii.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 31

2.2.3. Cutarea unei nregistrri se realizeaz n acces secvenial sau
n acces direct

Cutarea secvenial a unei nregistrri se face utiliznd setul de butoane din partea stng a
barei aflate n partea de jos a ferestrei Datasheet View: Next Record, First Record, Last Record,
Previous Record.
Pentru cutarea direct se selecteaz cmpul n care se face cutarea i se utilizeaz butonul
Find de pe bara cu instrumente sau se alege Edit > Find (figura 2.6.).
Cutarea se poate realiza n ntreaga tabel, ncepnd cu nregistrarea curent pn la
sfritul tabelei (Down), de la nregistrarea curent spre prima nregistrare sau de la ultima
nregistrare spre nceputul tabelei (Up), opiuni care se pot preciza n zona Search. Din lista
derulant Match (potrivire) se poate selecta:
Whole Field (ntregul cmp);
Start of Field (nceputul cmpului);
Any Part of Field (orice parte a cmpului).
Pentru a indica o cutare care s in seama de literele mari i mici, se marcheaz caseta
Match Case.


Fig. 2.6. Find

2.2.4. Modificarea nregistrrilor

Pentru nlocuirea automat a valorilor dintr-un cmp din mai multe nregistrri se utilizeaz
caseta de dialog Replace. Caseta Replace se afieaz prin comanda Edit > Replace sau a
combinaiei de taste Ctrl + H (figura 2.7.).
Comanda va nlocui valorile din cmpurile care se potrivesc cu valorile introduse n caseta
de text Find What. nlocuirea se face cu valorile specificate n caseta de text Replace With.
nlocuirea se poate face selectiv prin cutarea fiecrei valori de nlocuit i confirmarea nlocuirii
(butoanele Field Next i Replace) sau pentru toate nregistrrile care corespund criteriul de nlocuire
(butonul Replace All).
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 32



Fig. 2.7. Replace



2.2.5. Ordonarea nregistrrilor

Ordonarea i filtrarea nregistrrilor sunt operaii deosebit de importante pentru utilizatori,
dar ele vizeaz ndeosebi cererile informaionale ale utilizatorilor, motiv pentru care ele sunt
realizate pentru obiectele tip Query (cereri de iterogare) capitolul 3.


2.2.6. nghearea afirii cmpurilor

Dac o tabel conine prea multe cmpuri, ele nu pot fi afiate toate n modul Datasheet
View. Pentru a vizualiza toate cmpurile se folosete bara de derulare orizontal sau nghearea
afirii cmpurilor. Pentru nghearea afirii cmpurilor executm operaiile:
se deschide tabela n modul Datasheet View;
se selecteaz coloana sau coloanele a cror afiare se va nghea executnd click pe butoanele
antetelor acestor coloane;
se utilizeaz comanda Format > Freeze Columns (nghearea coloanelor).
Pentru dezghearea coloanelor ngheate se alege comanda Format > Unfreeze All
Columns.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 33

2.3. Definirea relaiilor ntre tabele

Pentru a avea acces simultan la datele din mai multe tabele ale aceleiai baze de date este
necesar s se defineasc relaiile standard dintre aceste tabele. Relaiile ntre tabele se definesc pe
baza valorilor unui cmp dintr-o tabel utilizat drept cheie primar i valorilor aceluiai cmp dintr-
o alt tabel, unde este utilizat drept cheie extern. Access impune existena aceluiai tip de date
pentru cmpurile care particip la o relaie.
n cazul cmpului de tip Number proprietatea Field Size a celor dou cmpuri trebuie s fie
identic. Relaia dintre cmpurile de tip Text trebuie, n principiu, s foloseasc cmpuri de aceeai
lungime.
Se recomand ca stabilirea relaiilor ntre tabele s se fac nainte de nregistrarea datelor.
n Access exist urmtoarele posibiliti de realizare a relaiilor dintre tabele:
Relaia 1 1 (one-to-one sau unu la unu) este cea mai simpl relaie ntre dou tabele. n
aceast relaie, unei valori a cmpului cheie principal dintr-o tabel i corespunde o singur
valoare din cmpul folosit drept cheie extern din cealalt tabel. Altfel spus, unei nregistrri
din tabela aflat n partea stng a relaiei i corespunde o singur nregistrare din tabela aflat
n partea dreapt a relaiei. Tabelele aflate ntr-o relaie one-to-one se pot combina ntr-o
singur tabel, n care apar toate cmpurile celor dou tabele. Relaiile de acest tip nu sunt
uzuale.
Tabelul A Tabelul B


Relaia 1 n (one-to-many sau unul la mai muli) constituie tipul cel mai rspndit de
relaii. Conform acestei relaii unei nregistrri din tabela aflat n partea stng a relaiei i
corespund dou sau mai multe nregistrri din tabela aflat n partea dreapt a relaiei.
Asocierea se bazeaz pe un cmp cheie principal unic ntr-o tabel i un cmp cheie extern
din cealalt tabel care admite valori duplicate.
Tabelul A Tabelul B

2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 34

Relaia n1 (many-to-one sau mai muli la unul) este opus relaiei 1n. Pentru a crea
relaia many-to-one este suficient s se inverseze relaia one-to-many. De aceea, se spune c
relaia many-to-one este reflexiv, adic relaia many-to-one este reflexia relaiei
corespondente one-to-many. Dac se selecteaz o nregistrare din tabela din partea many a
relaiei se poate afla nregistrarea care corespunde cheii sale externe din tabela din partea one
a relaiei. Relaiile n 1 nu sunt bazate pe cmpuri cheie primar din nici una dintre cele dou
tabele.
Tabelul A Tabelul B


Relaia mn (many-to-many sau muli la mai muli) nu poate fi exprimat ca o simpl
relaie ntre dou tabele. Relaia many-to-many se poate exprima prin intermediul unei a treia
tabele care are relaii one-to-many i many-to-one cu cele dou tabele.

Tabelul A Tabelul B


Indiferent de tipul de relaii existent ntre dou/mai multe tabele este esenial ca cele dou
cmpuri participante la aceasta s aib exact acelai tip de date.
Pe lng stabilirea relaiilor ntre tabelele unei baze de date, Access permite i specificarea
unor reguli care foreaz integritatea datelor. Aceste reguli se numesc restricii de integritate
referenial. Ele permit s se conserve intacte relaiile ntre tabele ntr-un sistem de gestiune a unei
baze de date relaionale.
Integritatea referenial funcioneaz dup cmpul cheie. Acest sistem verific n mod
continuu cmpul cheie, primar i strin, la fiecare operaie de adugare, tergere sau modificare a
unei nregistrri. Dac o schimbare a unei chei afecteaz legtura ntre tabele, sistemul avertizeaz
c se violeaz regulile de integritate referenial.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 35

Atunci cnd dou tabele sunt legate printr-o relaie, o tabel se numete printe i cealalt se
numete copil. Acest sistem este cunoscut sub numele de relaie printe-copil. Integritatea
referenial garanteaz c nu vor exista nregistrri orfane adic nregistrare copil fr o nregistrare
printe.
Capacitatea de a asigura n mod automat integritatea referenial este o caracteristic
important a programului Access.

Definirea legturilor dintre tabele se realizeaz din meniul Tools-> Relationships, acesta
activnd un panou de editare vizual a acestora. Prima activare a acestei opiuni are ca efect i
afiarea unei ferestre cu obiectele bazei de date ce se pot plasa n panou prin dublu-click sau
selectarea obiectului i butonul Add (figura 2.8.).



Fig. 2.8. Relationships

Pentru a putea defini o legtur ntre dou tabele, trebuie s existe compatibilitate ntre tipul
de date al cheii primare i cel al cheii externe corespunztoare.
Dup plasarea tuturor tabelelor n panoul de editare, definirea propriu-zis a unei relaii se
realizeaz prin drag-and-drop dinspre cheia primar a unei tabele spre cheia extern
corespunztoare sau invers. Dup realizarea acestei operaii, finalizarea definirii unei legturi se
realizeaz n fereastra din figura 2.9, unde este prezentat definirea unei relaii ntre tabelul furnizor
(cheie primar cod furnizor) i tabelul produs (cheie extern id).
Dac o cheie este format din mai multe cmpuri, acestea se editeaz corespunztor n
panoul Edit Relationship (figura 2.9.)
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 36



Fig. 2.9. Edit Relationships


Opiunile din fereastra Edit Relationships au urmtoarea semnificaie:
Enforce Referential Integrity definete o restricie de integritate referenial. Nu se permite
actualizarea valorii unei chei externe, dac aceast valoare nu exist deja n tabelul unde
aceasta este cheie primar.
Cascade Update Related Fields actualizarea valorii unei chei primare dintr-un tabel se
propag i n nregistrrile din tabelele unde aceasta este cheie extern.
Cascade Delete Related Fields tergerea valorii unei chei primare, are ca efect i tergerea
nregistrrilor din tabelele unde aceasta este cheie extern.

n caseta Relationship Type sunt prezentate tipurile de legturi care pot exista ntre dou
tabele:
One to One -1-1;
One to Many 1n
Dac n aceast caset este afiat mesajul Indeterminate, nseamn c tipul de relaie nu
poate fi definit, cea mai probabil eroare fiind incompatibilitatea ntre tipul de date al cheii primare
i cel al cheii externe, sau inexistena unei chei primare n relaia respectiv.
Butonul de comand Join Type permite i definirea unor tipuri de relaii particulare ntre
tabele, aa cum se observ din figura 2.10.
Variantele 2 i 3 permit utilizarea implicit n interogri a join-urilor externe de tip Left i
Right, care presupun ntr-o interogare luarea n considerare a tuturor nregistrrilor dintr-un tabel,
indiferent dac au sau nu nregistrri corespondente dup cmpul (cmpurile) de legtur n celalalt
tabel. n exemplul de legtur prezentat n figura 2.10, este posibil o interogare ntre cele dou
tabele, n care vor fi luate n considerare toate nregistrrile din tabelul produse, indiferent dac au
sau nu corespondent n tabelul furnizor.
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 37




Fig. 2.10. Edit Relationships > Join Properties

2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 38

2.4. Aplicaii

Aplicaia 2.1. S se creeze tabela Furnizori care are urmtoarea structur:
cod (cheia primar) AutoNumber
denumire Text
data infiintarii Date
adresa Memo
banca Text

Proprietile cmpurilor tabelei Funizori:
Cmp
Field name
Proprieti Valori
Cod
Field Size
Format
Default Value
Validation Rule
Validation Text
Indexed
Byte
General Number
100
[Cod furnizor]>=100 and [Codfurnizor]<=200
Trebuie sa tastezi intre 100 si 200
Yes (No Duplicates)
Denumire
Field Size
Caption
20
Denumirea furnizorului
Data infiintarii
Format
Default Value
Validation Rule
Validation Text
General Date
1 martie 2004
<=Date()
Ai depasit data curenta

Aplicaia 2.2. S se creeze tabela Facturi care are urmtoarea structur:

Nrfactura (cheia primar) Number
Datafact Date
Val factura Number
Cod furnizor Number
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 39

Proprietile cmpurilor tabelei Facturi:

Cmp Proprieti Valori
Nrfactura
Field Size
Format
Caption
Default Value
Validation Rule
Validation Text
Indexed
Integer
General Number
Numar factura
2000
[Nrfactura]>=2000 And [Nrfactura]<=2500
Trebuie sa tastezi intre 2000 si 2500
Yes (No Duplicates)
Datafact
Format
Caption
Default Value
Validation Rule
Validation Text
General Date
Data facturii
=Date()
<=Date()
Ai depasit data curenta
Val factura
Field Size
Format
Default Value
Validation Rule
Validation Text
Long Integer
Currency
0
>0
Ai introdus o valoare negativ
Cod furnizor
Field Size
Format
Default Value
Validation Rule
Validation Text
Byte
General Number
100
Cod furnizor>=100 and Codfurnizor<=200
Trebuie sa tastezi intre 100 si 200

2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 40

Aplicaia 2.3. Pentru raionalizarea procesului de introducere i actualizare a datelor, n
cadrul unei aplicaii, se creeaz mai multe tabele independente. n mod obinuit informaiile dorite
de utilizatori reclam consultarea concomitent a datelor din mai multe tabele. Din acest motiv ntr-
o baz de date relaional ntre tabele se stabilesc relaii dup criterii logice i de nrudire.
Cmpurile comune (care au nume identice i sunt de acelai tip) prin care se stabilesc
relaiile sunt:
cheia primar pentru tabela principal;
cheia extern pentru tabela asociat.

Tabelele Produse, Comenzi i Clieni au urmtoarele structuri:

Produse :
Cmp Tip de date Proprieti Valori
cod_produs Number
Field Size
Caption
Integer
Codul produsului
den_produs Text Caption Denumirea produsului
um Text
Field Size
Caption
4
Unitate msur
pret_unitar Number
Field Size
Caption
Single
Pre unitar

Comenzi :
Cmp Tip de date Proprieti Valori
nr_comanda Number
Field Size
Caption
Integer
Numrul comenzii
cod_client Number
Field Size
Caption
Integer
Codul clientului
cod_produs Number
Field Size
Caption
Single
Codul produsului
cantitate Number Field Size Single
data_comenzii Date / Time Format Short Date
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 41

Clieni :
Cmp Tip de date Proprieti Valori
cod_client Number
Field Size
Caption
Integer
Codul clientului
den_client Text Caption Denumirea clientului
localitate Text Field size 20
adresa Text Field size 30
nr_telefon Number
Field size
Caption
Long Integer
Telefon
tara Text Field Size 20

Cheile primare n tabelele de mai sus sunt:
n tabela Produse cmpul cod_produs;
n tabela Comenzi cmpul nr_comanda;
n tabela Clieni cmpul cod_client.
n tabela Comenzi cmpurile cod_client i cod_produs sunt chei externe pentru asocierea cu
celelalte tabele.
Din datele prezentate n figura 2.11. rezult c unei nregistrri din tabela Produse i
corespund una sau mai multe nregistrri din tabela Comenzi (se pot emite mai multe comenzi
pentru acelai produs). De asemenea, unei nregistrri din tabela Clieni i corespund una sau mai
multe nregistrri din tabela Comenzi (un client poate s emit una sau mai multe comenzi).



Fig. 2.11. Aplicaia 2.3

2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 42

Tipul de legtur (Join) pentru asocierea acestor tabele cnd se leag nregistrrile pentru
care cmpurile de legtur au valori egale este Equi-Join.

Regulile generale prin care se asigur integritatea referenial atunci cnd ne referim la
operaiile de adugare i eliminare a nregistrrilor din cele 3 tabele sunt:
toate cele 3 tabele s aparin aceleiai baze de date;
fiecare tabel s aib o cheie primar (un index unic);
cmpurile de legtur s aib acelai tip de dat. cod_produs i cod_client sunt de tip Number
pentru care proprietatea Field Size a luat valoarea Integer.

Access asigur integritatea referenial astfel:
nu se pot introduce n tabela Comenzi dac nu sunt nregistrri corespunztoare n tabelele
Produse i Clieni;
nu se pot elimina nregistrri din tabelele Produse i Clieni atta timp ct mai exist
nregistrri asociate n tabela Comenzi.

Pentru crearea relaiilor ntre tabelele Produse, Comenzi i Clieni se parcurg urmtorii pai:
n fereastra Database se alege opiunea Relationships din meniul Tools;
prin intermediul ferestrei Show Table se aduc tabelele n fereastra Relationships; se execut
click pe numele tabelei i apoi se apas pe butonul Add.
se nchide tabela Show Table.
se selecteaz cmpul cheie primar cod_produs din tabela Produse i se trage peste cmpul
corespunztor din tabela Comenzi (cmpul cheie extern cod_produs).

Access deschide o fereastr n care sunt confirmate detaliile relaiei:
tabelele implicate n relaie (Produse i Comenzi);
cmpurile prin care s-a stabilit relaia (cod_produs n ambele tabele);
o caset de validare Enforce Referenial Integrity (impune integritatea referenial)
care dup validare ofer posibilitatea (opional) de actualizare i tergere n cascad;
opiunile care precizeaz tipul de combinare (Join Type). n cazul nostru se accept tipul
prestabilit (1) care va lua n considerare numai nregistrrile prezente n ambele tabele.

Rezultatul va fi o legtur de tipul 1 ntre tabelele Produse i Comenzi;
Se repet aceleai operaii pentru tabelele Clieni i Comenzi pe cmpul de legtur
cod_client.
n fereastra Relationships vom avea cele 3 tabele asociate (figura 2.11.).
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 43

Aplicaia 2.4. S se stabileasc dou relaii de tipul 1:m ntre tabela Facturi i tabela Poziie
factur i ntre tabela Produse i tabela Poziie factur, astfel nct fereastra Relationships s arate
ca n figura 2.12.



Fig. 2.12. Aplicaia 2.4


Aplicaia 2.5. Creai o baza de date pentru evidena situaiei colare a studenilor. Baza de
date trebuie s stocheze notele acordate de profesori, studenilor, la fiecare materie n sesiunea de
examene.
Rezolvare:
Entitile bazei de date sunt: studenii, profesorii, materiile i notele.
Identificarea asocierilor ntre entiti este urmtorul pas. Prin asociere se nelege o legtura
ntre cele dou entiti bazat pe un cmp al lor.
Stabilirea acestora este o operaie relativ intuitiv care, n cazul bazelor de date mari, este
organizat pe baza unor metodologii. n cazul nostru entitile au urmtoarele asocieri care
genereaz relaii de tip unu-la-muli:



Fig. 2.13. Aplicaia 2.5

2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 44

Un student are mai multe note, evident, la o materie poi primi mai multe note (dac ai
absentat sau nu ai promovat examenul, sau te prezini la mrire de not), un profesor acord mai
multe note.
Stabilirea cmpurilor se face n funcie de specificul utilizrii bazei de date. O atenie sporit
trebuie acordat atributelor cheie primar. n cazul nostru am preferat, pentru simplificarea
codificrii datelor, vom folosi tipul de dat AutoNumber.

Studeni:
Cmp Tip de dat Proprieti Valori
id_stud AutoNumber
nume Text
prenume Text
adresa Text
telefon Number Format "(040)."000.000.000
email Hyperlink

Profesori:
Cmp Tip de dat Proprieti Valori
id_prof AutoNumber
nume Text
prenume Text
catedra Text
titlu Lookup Wizard Validation Rule
"prof" Or "conf" Or "sef lucr" Or "lector"
Or "asist"
adresa Text
telefon Number Format "(040)."000.000.000
email Hyperlink

2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 45

Materii:
Cmp Tip de dat Proprieti Valori
id_prof AutoNumber
denumire Text
descriere Text

Note:
Cmp Tip de dat Proprieti Valori
nota Number Validation Rule >=0 And <=10
data Data / Time Validation Rule <=Date()
id_stud Number
id_prof Number
id_mat Number

Relaiile sunt:


Fig. 2.14. Aplicaia 2.5
2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 46

Aplicaia 2.6. Creai baza de date:

Tabel Cmpuri
material codmaterial, denmaterial, um
stoc codgestiune, codmaterial, stocinitial, datainitiala
gestiune codgestiune, dengestiune, numegestionar
furnizor codfurnizor, denfurnizor, localitate, adresa, codfiscal
nrcd nrnrcd, datanrcd, codfurnizor, codgestiune, codfactura, datafact
mataprovizionat nrnrcd, codmaterial, cantaprov, pretaprov
bonconsum codbon, databon, codconsum, codgestiune
matconsumat codbon, codmaterial, cantconsum
locconsum codconsum, denconsum, codcomanda
plati coddocument, sumadocument, datadocument, codfurnizor

Cmpurile subliniate cu linie continu sunt cheile primare prin care se identific n mod unic
fiecare nregistrare.
Pentru tabela stoc cheia primar este reprezentat printr-un cmp compus (codgestiune i
codmaterial), n ideea c un material se poate regsi n mai multe gestiuni.
Pentru tabelele mataprovizionat i matconsumat s-au utilizat de asemenea chei primare pe
cmpuri compuse. S lum de pild tabelele nrcd i mataprovizionat care au ca surs de date
documentul Nota de Recepie i Constatare de Diferene. Tabela nrcd cuprinde datele din partea
comun a documentului cu cheia primar nrnrcd, iar tabela mataprovizionat cuprinde datele din
partea n care sunt consemnate materialele care au intrat (acestea pot fi mai multe), identificarea
acestora realizndu-se prin cmpul cheie primar compus din nrnrcd i codmaterial.
Aceleai raiuni au stat i la stabilirea cheilor primare pentru tabelele bonconsum i
matconsumat care au ca surs de date documentul Bon consum.
Cmpurile subliniate cu linie ntrerupt sunt cmpuri de legtur ntre tabele.
Relaiile dintre tabele sunt prezentate n figura 2.15..




2. Microsoft Access Tabele (Tables)
Nchil Ctlin laborator Access 47



Fig. 2.15. Aplicaia 2.6














3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 48

3. Microsoft Access Interogri (Queries)

3.1. Generaliti

Interogarea const n extragerea datelor dintr-o tabel (tabele), dintr-o interogare anterioar
sau din ambele, prelucrarea acestora ntr-o form mai mult sau mai puin complex i furnizarea
informaiilor ctre utilizatori.
Rezultatele interogrilor pot fi folosite ca atare sau pot constitui surs de nregistrri pentru
crearea formularelor i rapoartelor.

Principalele operaii care se pot realiza cu ajutorul interogrilor sunt:
extragerea din tabele numai a cmpurilor relevante pentru utilizatori;
extragerea nregistrrilor din tabele prin specificarea unor criterii de selecie;
regsirea i ordonarea datelor dup anumite criterii;
crearea de cmpuri calculate;
extragerea datelor din una sau mai multe tabele i realizarea unor informaii sintetice;
crearea de tabele, adugarea nregistrrilor n tabele, tergerea nregistrrilor din tabele i
actualizarea datelor;
combinarea i compararea ieirilor prin realizarea mai multor interogri n acelai timp;
interogarea i a altor baze de date (FoxPro, SQL Server);
pregtirea datelor n vederea afirii lor n formulare sau rapoarte.

n Microsoft Access se pot crea urmtoarele tipuri de interogri:
interogri de selecie;
interogri parametrice;
interogri ncruciate;
interogri de aciune.

Interogrile de selecie extrag informaii din unul sau mai multe tabele i le afieaz sub
form de list. Sunt cel mai uor de creat i au avantajul c pot afia un numr redus de date
dintr-un tabel de mare capacitate (datele care ndeplinesc condiiile specificate). Ele permit i
modificarea rezultatului afiat, modificare ce va fi vzut i n tabelul surs. De asemenea, permit i
folosirea de parametri, cum este reuniunea de cmpuri din tabele ntre care nu exist nici o legtur
precum i efectuarea de calcule.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 49

Interogrile parametrice nu sunt un tip special de interogri, o funcie parametru putnd fi
folosit pentru toate celelalte interogri prezentate mai sus; ele folosesc n mod repetat o interogare,
efectund modificri n criteriile de selecie.

Interogrile tip tabel ncruciat centralizeaz n formatul unei foi de calcul tabelar datele
din unul sau mai multe tabele. Datele rezultate dup execuia unei astfel de interogri sunt
prezentate ntr-un format potrivit pentru analiza datelor i crearea de grafice.

Interogrile de aciune creeaz un nou tabel n baza de date sau realizeaz modificri
majore ale unui tabel existent. n general, toate interogrile de aciune pot fi realizate pe baza unei
interogri de selecie. Ele permit adugarea, modificarea sau tergerea de nregistrri ntr-un tabel.
Exist patru tipuri de interogri de aciune:
interogri de generare a unui nou tabel din datele coninute n setul de rezultate al interogrii;
interogri de adugare a noi nregistrri ntr-un tabel;
interogri de tergere a unor nregistrri dintr-un tabel;
interogri de actualizare a unor nregistrri dintr-un tabel, conform cu o condiie ce trebuie
ndeplinit.

Aciunile acestora sunt ireversibile asupra datelor din tabelele surs, iar n cazul ultimelor
trei dintre ele, trebuie urmrit pstrarea integritii refereniale atunci cnd prin intermediul lor se
acioneaz asupra mai multor tabele legate.

Interogarea datelor din tabele se realizeaz n dou moduri:
n mod grafic prin interfaa Query By Example (QBE) - interogare prin exemplu;
prin limbajul SQL sub form de blocuri de cerere.

n cadrul acestui capitol se va prezenta modul de construire a unei interogri folosind
interfaa Query By Example (QBE).

Access ofer trei posibiliti pentru definirea interogrii i afiarea rezultatelor acesteia.
Design View fereastr sub forma unei grile de interogare, n care se definete interogarea;
Datasheet View fereastr n care se afieaz rezultatele interogrii;
SQL View fereastr n care Access genereaz automat codul SQL al interogrii QBE;
aceeai fereastr este folosit i pentru scrierea direct a unei interogri cu ajutorul
instruciunilor SQL.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 50

3.2. Interogarea prin selecie

Aplicaia 3.1: Fie o baz de date ce conine trei tabele: Produse, Clieni, Comenzi. Tabelele
conin nregistrrile:






Fig. 3.1. Tabelele bazei de date
Construim relaiile:


Fig. 3.2. Relaiile
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 51

3.2.1. Crearea unui obiect de tip interogare

Iniierea crerii cererii se realizeaz n fereastra Database prin activarea fiei Query
(Interogri) i apoi apsarea butonului New, sau selectnd din meniul Insert opiunea Query.
Access ofer mai multe modaliti de creare a cererilor. Aceste modaliti sunt afiate n
fereastra New Query (figura 3.3) afiat ca urmare a iniierii operaiei de creare a cererii:


Fig. 3.3. Fereastra New Query Fig. 3.4. Fereastra Show Table cu
lista tabelelor disponibile

Design View proiectarea interogrilor utiliznd interfaa grafic QBE;
Simple Query Wizard utilizarea asistentului pentru cereri simple;
Crosstab Query Wizard utilizarea asistentului pentru cereri ncruciate;
Fiind Duplicates Query Wizard utilizarea asistentului pentru cutarea nregistrrilor duplicat;
Find Unmatched Query Wizard utilizarea asistentului pentru cutarea nregistrrilor care nu
au corespondent n dou tabele.

Pentru crearea unei cereri de selecie se alege opiunea Design View din caseta New Query.
Fereastra Show Table (figura 3.4.) ofer posibilitatea precizrii sursei de date pentru
construirea cererii.
Sursa de date pentru o cerere poate fi reprezentat de:
una sau mai multe tabele;
una sau mai multe interogri;
tabele i interogri.
Se vor selecta tabela/tabelele i/sau cererile surs i se va aciona butonul Add pentru a
realiza aducerea acestora n fereastra de proiectare a cererii. Dup ce a fost precizat sursa de date
se va nchide fereastra Show Table prin acionarea butonului Close. La nevoie se poate redeschide
fereastra folosind opiunea Show Table din meniul Query.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 52

Dac sunt necesare date din mai multe tabele sau interogri se procedeaz asemntor i
pentru celelalte obiecte.
n partea superioar a ferestrei Query Design vor fi afiate tabelele sau interogrile, fiecare
cu lista cmpurilor coninute (figura 3.5.). n cazul n care tabelele din care se extrag datele pentru
interogare au fost puse n relaie anterior, ele apar n fereastra Query Design cu liniile de legtur
precizate (1 1 sau l ). Dac nu, relaia ntre tabele poate fi creat n cadrul interogrii.



Fig. 3.5. Fereastra Select Query

Fereastra Select Query (figura 3.5) este mprit n dou zone:
zona superioar, n care se vizualizeaz tabelele/interogrile surs de date precum i
relaiile definite ntre acestea;
grila Query Design structurat astfel:
linia Field: rezervat pentru selectarea unui cmp;
linia Table: destinat precizrii sursei de date;
linia Sort: permite precizarea sensului sortrii pentru atributul din coloana respectiv;
linia Show: permite inhibarea afirii realizrilor cmpului respectiv;
linia Criteria: ofer posibilitatea precizrii criteriilor de selecie prin introducerea expresiilor
Access corespunztoare;
liniile or: permite precizarea mai multor criterii de selecie n cazul expresiilor Access
utiliznd operatorul OR.

3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 53

Definirea interogrii de selecie presupune parcurgerea urmtorilor pai:

1. Precizarea cmpurilor ale cror realizri urmeaz s le returneze cererea. Numele acestor
cmpuri se vor preciza n grila Query Design n rndul Field utiliznd una din urmtoarele
modaliti:
selectarea cmpului din cadrul listei Field;
executarea unui dublu clik de mouse asupra cmpului dorit din tabela/interogarea aflat n
panoul superior;
metoda drag-and-drop care presupune selectarea cu mouse-ul a cmpului dorit din panoul
superior i tractarea acestuia n linia Field.
Dac este necesar s fie aduse n panoul inferior toate cmpurile aparinnd unei tabele se va
proceda n unul din urmtoarele moduri:
selectarea tuturor cmpurilor din tabela surs (aflat n panoul superior) printr-un dublu clik
de mouse pe numele tabelei i se trag cmpurile pe gril;
utilizarea asteriscului aparinnd tabelei surs: tragei cu mouse-ul asteriscul n prima coloan
Field;. chiar dac n grila de proiectare este completat doar prima coloan Field la execuie
interogarea va returna realizrile tuturor atributelor;
utilizarea proprietii Output All Fields: se va deschide caseta Query Properties utiliznd
butonul Properties din bara de instrumente sau executnd dublu click ntr-o zon liber
a panoului superior; n linia Output All Fields se va preciza Yes; precizarea valorii Yes pentru
proprietatea Output All Fields nu va determina aducerea n grila de proiectare a cmpurilor
din tabela surs, dar, n momentul executrii cererii, vor fi cuprinse toatea realizrile tuturor
atributelor.
n mod implicit, antetul coloanelor tabelului rezultat n urma interogrii este reprezentat de
numele cmpului, cu excepia cazului n care la crearea tabelei ai precizat o alt etichet prin
intermediul proprietii Caption. Dac dorii afiarea n tabelul rezultat n urma interogrii a unei
noi etichete pentru un cmp plasai mouse-ul n linia Field naintea numelui cmpului, tastai
eticheta dorit urmat de caracterul :.
Observaie: Dup aducerea cmpurilor din tabele sau interogri pe grila de interogare sunt
posibile operaii de inserare a unui cmp, tergerea unui cmp, deplasarea unui cmp ntr-o alt
poziie, modificarea dimensiunilor unei coloane i modificarea numelui unui cmp.

2. Se precizeaz criteriul de selecie (n mod implicit se returneaz realizrile tuturor tuplurilor
pentru cmpurile specificate) prin introducerea unei expresii Access valide n rndul Criteria
(eventual i rndul OR). Introducerea expresiei Access se face prin tastare sau se construiete
prin intermediul generatorului de expresii (Expression Builder) a crui fereastr se deschide
selectnd opiunea Build a meniului pe care l activai printr-un click dreapta de mouse n
rndul Field.

3. Se precizeaz, dac este necesar, cmpul/cmpurile dup care se dorete o eventual
sortare i sensul acesteia n linia Sort.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 54

n figura 3.6. se exemplific o interogare cu date luate din tabelele Produse, Comenzi i
Clieni asociate anterior, iar n figura 3.7. se afieaz rezultatele interogrii.



Fig. 3.6. Interogare folosind date din mai multe tabele




Fig. 3.7. Rezultatele interogrii

Pentru ca rezultatele interogrii s fie interpretate mai uor, utilizatorul poate s cear
ordonarea nregistrrilor n funcie de valorile anumitor cmpuri.
Sortarea este posibil pe cmpurile numerice, de tip text i data calendaristic. Se pot
specifica sortri pe mai multe cmpuri din cadrul aceleiai interogri.
Pentru exemplificare s considerm c utilizatorul dorete s vad nomenclatorul de produse
(tabela Produse) ordonat cresctor pe cmpul den_produs. Va construi interogarea din figura 3.8..
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 55



Fig. 3.8. Sortarea cresctoare a datelor din tabel


Aplicaia 3.2: Fie o baz de date constituit pentru o firm care i comercializeaz
produsele prin intermediul potei, pe baza comenzilor primite de la clieni. Firma dispune de un
nomenclator al produselor fabricate n care sunt consemnate denumirea fiecrui produs, unitatea de
msur i categoria de calitate aferent. Clienii firmei sunt persoane fizice crora li se solicit
numele, adresa, codul potal i numrul de telefon. Comenzile primite sunt numerotate secvenial,
pe fiecare consemnndu-se data recepionrii comenzii i termenul de livrare (exprimat n zile) iar,
n momentul onorrii comenzii, se completeaz data la care s-a efectuat livrarea. Pe o comand pot
fi solicitate unul sau mai multe produse n diferite cantiti. Preurile practicate de firm sunt
negociabile i variabile n timp.

Modelul propus pentru baza de date este prezentat n figura 3.9:



Fig. 3.9. Relaiile ntre tabele
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 56



Fig. 3.10. Proiectarea unei interogri de selecie

n figura 3.10 se prezint modul n care s-a definit interogarea de selecie prin care se
realizeaz:
afiarea numelui clienilor cu adresa n Ploieti sau Braov (primul criteriu de selecie),
numrului comenzii trimise i data convenit a livrrii care trebuie s fie anterioar datei
curente (cel de al doilea criteriu de selecie precizat).

Afiarea se realizeaz n ordinea alfabetic dup numele clienilor. Sursa de date a cererii
este reprezentat de dou tabele ale bazei de date: Clieni i respectiv Comenzi.

Pentru a evita repetarea restriciei puse asupra cmpului data_livrare pe mai multe rnduri
(pentru fiecare ora) s-ar fi putut apela la soluia scrierii tuturor localitilor pe acelai rnd i
utilizrii operatorului OR (figura 3.11.).



Fig. 3.11. Utilizarea operatorului OR
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 57
n figura 3.12 este redat rezultatul executrii cererii anterior proiectate.


Fig. 3.12. Rezultatul interogrii de selecie

3.2.2. Modificarea unei cereri

Pentru a modifica o cerere, aceasta trebuie deschis n modul Design. Modificrile se pot
realiza insernd noi coloane sau tergnd coloane deja definite.
Inserarea unei noi coloane se efectueaz selectnd coloana naintea creia dorim s
introducem noua coloan i alegnd opiunea Column din meniul Insert.
tergerea unei coloane din grila de proiectare se realizeaz selectnd coloana i acionnd
tasta Delete sau butonul Cut din bara de instrumente sau executnd opiunea Delete Column din
meniul Edit.
Modificarea unei cereri poate presupune i extinderea sursei de date (utiliznd fereastra
Show Table). De asemenea modificarea cererii poate implica i precizarea unor formate de afiare
asociate unor coloane pentru ca datele returnate s fie uor de parcurs (pentru precizarea unui
anumit format de afiare se va plasa cursorul mouse-ului n coloana dorit i se va executa clik
dreapta, selectndu-se din meniul contextual opiunea Properties.
Va fi afiat caseta Field Properties n care se va putea specifica numrul de zecimale dorit
sau un format de afiare pentru cmpul respectiv.
Pe lng modurile de vizualizare Design i Datasheet Access permite utilizatorilor
vizualizarea i modificarea codului SQL al interogrilor. Pentru aceasta se va apela din meniul View
opiunea SQL View.

3.2.3. Utilizarea operatorilor

Pentru a construi expresii pe rndul Criteria se utilizeaz operatorii:
aritmetici: adunare (+); scdere (), nmulire (*), mprire (/), ridicare la putere (^),
mprirea a dou numere cu returnarea unui ntreg (\), mprirea a dou numere cu
returnarea restului mpririi (MOD).
de comparaie: <, >, =, <=, >=. Aceti operatori returneaz valorile logice True i False.
Excepie reprezint cazul n care unul dintre operatori are valoarea NULL i deci orice
comparare va returna valoarea NULL.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 58
asociai operatorilor de comparare:
IS NULL, IS NOT NULL o valoare NULL (cmp necompletat) nu este nici TRUE nici
FALSE. nregistrrile care au valoarea NULL n cmpurile selectate nu apar ca rezultate ale
interogrii;
LIKE se folosete mpreun cu caracterele de nlocuire * i ? pentru a stabili dac o
valoare ncepe cu unul sau mai multe caractere; caracterul * poate nlocui orice numr de
caractere; caracterul ? nlocuiete numai un caracter;
IN stabilete dac o valoare este cuprins ntr-o list;
BETWEEN stabilete dac o valoare aparine unui interval specificat.

logici:
NOT negaia;
AND pentru conjuncia a dou valori;
OR pentru disjuncia a dou valori;
XOR pentru disjuncia exclusiv a dou valori;
Eqv verific echivalena a dou valori.

de concatenare a irurilor de caractere: + i &.

de identificare:! i . . Aceste dou caractere sunt utilizate ca separatori, astfel:
Combin numele coleciilor de obiecte i numele obiectelor pentru a selecta un anumit obiect
sau proprietate a lui: Forms! [Clieni]
Identific atribute aparinnd unei tabele: Clieni! [Localitate]
Deosebete numele obiectelor de cele ale proprietilor: TextBox1.FontSize=12 unde:
TextBox reprezint un obiect de control iar FontSize reprezint o proprietate (stabilete
dimensiunea fontului)

constante: constantele utilizate n construirea expresiilor Access pot fi de natur
numeric (ex: 1200,5,0);
text (123, Toma Ion, str. Viilor 15);
dat calendaristic (ex: #12.31.01# ceea ce indic data de 31 decembrie 2001).

Identificatorii: sunt nume de obiecte Access (tabele, atribute, formulare, etc.)
prin intermediul identificatorilor se pot prelua valori pentru definirea criteriilor de pe
formulare create anterior (exemplul din figura 3.13 prezint o interogare ce va afia comenzile
i data comenzilor pentru un produs a crui nume a fost selectat ntr-o caseta de tip ListBox,
numit ListaProduse, pe un formular numit Selecie (interogarea poate fi executat doar dac
formularul este deschis)).
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 59


Fig. 3.13. Preluarea unei valori de pe un formular n cmpul de criterii


Funciile: pot fi de natur:

Dat calendaristic : Date(), Month(), Year (), etc.
Exemple: Date() returneaz data curent;
Month(Date()) returneaz numrul lunii calendaristice curente.
Year(Date()) returneaz anul curent.
De tip text: Len() returneaz lungimea unui ir; Trim() elimin spaiile de la nceputul i
de la sfritul unui ir; Left() returneaz primele n caractere de la nceputul unui ir, etc.
Matematice i trigonometrice: ABS() returneaz valoarea absolut a unui numr;
INT() returneaz partea ntreag dintr-o valoare numeric, ROUND() rotunjete o valoare
cu un anumit numr de zecimale; SUM() calculeaz suma; AVG() calculeaz media, etc.
Financiare: PV() returneaz valoarea actual a unei anuiti pltite n rate periodice egale;
SLN() returneaz valoarea amortizrii unui mijloc fix dup o anumit perioad (amortizare
liniar) etc.
Funcii diverse: ISNUMERIC(), ISNULL(), etc.

Reguli de formare a expresiilor introduse pe cmpul Criteria:
datele de tip Text se tasteaz ca atare, iar Access adaug automat ghilimele;
pentru datele de tip Number i Currency se tasteaz cifrele i eventual simbolul zecimal, fr
simbolul monetar sau separatorul de mii;
referirile la numele de cmpuri trebuie incluse ntre paranteze drepte, altfel se adaug automat
ghilimele, considerndu-se text;
formatul internaional de dat calendaristic este mm/dd/yy. Access adaug automat
delimitatorul # ;
Access adaug automat IS la referirile care implic valoarea NULL.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 60

Pe rndul Criteria din grila de interogare se poate introduce un singur criteriu de selecie sub
un cmp sau mai multe criterii sub cmpuri diferite.
Dac criteriile de selecie se introduc pe un singur rnd Criteria, se extrag nregistrrile care
ndeplinesc toate condiiile (operatorul logic AND), iar dac se introduc pe rnduri diferite se includ
n rspuns doar nregistrrile care ndeplinesc oricare dintre criteriile menionate (operatorul logic
OR).

Aplicaia 3.3: Pentru exemplificare se utilizeaz tabela Telefon care cuprinde populaia din
Bucureti cu sau fr telefon. Tabela are urmtoarele cmpuri:
cod_persoan, nume, prenume, strada, nr, sector, nr_telefon, data_instalrii
Se cere:
1. Realizarea unei interogri pentru obinerea unei liste cu persoanele care au numrul de telefon
care ncepe cu 7 (figura 3.14.)
Sub cmpul nr_telefon pe rndul Criteria se scrie expresia: LIKE 7*



Fig. 3.14. Interogarea abonai cu numrul de telefon care ncepe cu 7

2. Realizarea unei interogri pentru obinerea unei liste cu abonaii care au numrul de telefon
care nu ncepe cu 7.
Sub cmpul nr_telefon pe rndul Criteria se scrie expresia: NOT LIKE 7*
3. Realizarea unei interogri pentru obinerea unei liste cu abonaii care nu au telefon.
Sub cmpul nr_telefon pe rndul Criteria se scrie expresia: IS NULL
4. Realizarea unei interogri pentru obinerea unei liste cu persoanele din sectorul 6 care au
numrul de telefon care ncepe cu 7 sau a celor care nu au telefon.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 61
Pe rndul Criteria sub cmpul sector se scrie 6, iar sub cmpul nr_telefon se scrie expresia:
IS NULL OR LIKE 7 *
5. Lista telefoanelor instalate ntre 1 Ianuarie 2004 i 31 Decembrie 2004 se obine printr-o
interogare n care pe rndul Criteria sub data_instalarii se scrie expresia: LIKE *.*.2004
6. Lista telefoanelor instalate n luna Mai 2004 se obine dac sub cmpul data_instalarii pe
rndul Criteria se scrie expresia: LIKE *.05.2004.
7. Interogarea pentru obinerea listei persoanelor crora li s-a instalat telefon n luna 12, 2004 va
cuprinde sub cmpul data_instalarii expresia: >= # 01.12.2004 # And <= # 31.12.2004 #
8. Pentru a obine o list a persoanelor din sectoarele 1, 2 i 3 care nu au telefon instalat, se va
realiza interogarea: sub cmpul sector se scrie expresia: IN (1,2,3) iar sub cmpul nr_telefon
se scrie expresia: IS NULL.
9. Pentru a obine o list cu telefoanele instalate n ultimul trimestru al anului 2004, se va realiza
interogarea: sub cmpul data_instalarii se scrie expresia:
Between #01.10.2004# And #31.12.2004#

3.2.4. Cmpuri calculate n interogri de selecie

Interogrile de selecie pot cuprinde i cmpuri calculate. Aceste cmpuri returneaz, la
executarea interogrii, valoarea expresiilor Access asociate lor.

Pentru a crea un cmp calculat trebuie avute n vedere urmtoarele:
se introduce n celula Field a grilei de interogare un nume de coloan (dac nu se
specific se atribuie numele implicit Expr l, Expr2, ...), urmat de semnul : i formula
de calcul, astfel:
stoc_final: [stoc_initial] + [Cant_intrata] - [Cant_iesita]
cmpuri calculate pot fi create i pentru text (concatenarea cmpurilor):
Numepren: [Nume] & & [ Prenume]
cmpurile calculate pot fi sortate, li se pot aplica criterii de selecie sau se pot totaliza.
n cmpurile calculate se poate utiliza funcia IIF cu urmtoarea sintax:
IIF ( <expresie>, valoare 1, valoare2)
unde:
<expresie> este o expresie a crei valoare de adevr este evaluat pentru fiecare nregistrare;
valoare 1 este valoarea returnat dac expresie este adevrat;
valoare2 este valoarea returnat dac expresie este fals.

Pentru a aduga un cmp calculat ntr-o interogare se tasteaz numele acestuia ntr-o nou
coloan din grila Query Design, se adaug dou puncte i apoi se completeaz expresia dorit.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 62

Exemplu: Interogarea din figura 3.15 (pentru aplicaia 3.2) calculeaz data limit pn la
care trebuie onorat fiecare comand.



Fig. 3.15. Exemplu de cmp calculat ntr-o interogare

Expresiile pot fi utilizate ntr-o interogare de selecie fie drept criterii de selecie fie pentru a
calcula anumii indicatori. Expresia poate fi tastat n rndul Field al unei coloane (exemplul din
figura 3.15) sau poate fi construit cu ajutorul generatorului de expresii (a crui fereastr se
activeaz efectund click dreapta n linia Field i selectnd din mediul contextual opiunea Build).
Exemplul din figura 3.16 prezint utilizarea generatorului de expresii pentru a calcula valoarea
fiecrui produs de pe o comand.



Fig. 3.16. Fereastra Expression Builder
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 63



Fig. 3.17. Interogarea




Fig. 3.18. Rezultatul interogrii
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 64

Aplicaia 3.4: Pe baza tabelelor:

nrcmd (nr_comanda, data, cod_furnizor, cod_gestiune, cod_factura)
material (nr_comanda, cod_material, cant_aprov, pret_aprov),
s se realizeze o interogare pentru calcularea valorii materialelor, a taxei pe valoarea
adugat i valoarea total (figura 3.19.)



Fig. 3.19. Cmpuri calculate



Fig. 3.20. Rezultatul interogrii
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 65

Aplicaia 3.5: S se creeze tabelul Studeni cu urmtoarea structur:

Nume cmp
(Field name)
Tip de date
(Data type)
General
ID AutoNumber
Nume Text
Prenume Text
Tip student
Lookup Wizard
Text
Validation rule
Validation text
"student" Or "masterand" Or "doctorand"
eroare
Facultatea
Lookup Wizard
Text
Validation rule

Validation text
"Inginerie" Or "Stiinte" Or "Economie" Or
"Litere"
eroare
An studiu
Lookup Wizard
Number
Validation rule
Validation text
1 Or 2 Or 3 Or 4
eroare
Nota 1 Number
Nota 2 Number
Nota 3 Number

1. s se creeze o interogare care s afieze doar numele i prenumele studenilor afiai n ordine
alfabetic
2. s se creeze o interogare care s calculeze media studenilor i care s afieze doar numele,
prenumele i media acestora precum i dac au fost admii sau nu.









3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 66

1. s se creeze o interogare care s afieze doar numele i prenumele studenilor afiai n ordine
alfabetic

Se de click pe butonul Queries (Interogri) din fereastra Database: i se alege opiunea
Create query in Design view.
Fereastra Show Table conine tabelele (afiare implicit), interogrile sau combinaiile dintre
acestea, de unde utilizatorul alege sursa de date pentru interogare curent (figura 3.21.).



Fig. 3.21.

Selectm Studeni apoi executm click pe Add.

Se aduc cmpurile din tabel pe grila de interogare ntr-o ordine dorit de utilizator. Sunt mai
multe posibiliti pentru a aduce cmpurile pe grila de interogare. Ne vom referi numai la dou
dintre acestea:
pentru a aduce cmp cu cmp pe gril, se execut click pe cmpul din tabel i se trage pe
grila de interogare, sau se execut dublu click pe cmp, acesta adugndu-se automat n gril;
pentru a aduce toate cmpurile tabelului deodat, se execut dublu click pe numele tabelului i
se trag cmpurile pe gril.

Aducem cmpurile Nume, Prenume. La linia Sort alegem tipul de sortare ascendent.
Interogarea va arta ca n figura 3.22..
nchidem interogarea de la butonul x, se salveaz sub numele Interogarea 1, apoi
vizualizm rezultatul prin deschiderea acesteia din fereastra Database, opiunea Queries
(Interogri).
Rezultatul va fi conform figurii 3.23..
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 67



Fig. 3.22. Interogarea





Fig. 3.23. Rezultatul interogrii

3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 68

2. S se creeze o interogare care s calculeze media studenilor i care s afieze doar numele,
prenumele i media acestora precum i dac au fost admii sau nu.

Se de click pe butonul Queries (Interogri) din fereastra Database: i se alege opiunea
Create query in Design view.
Aducem cmpurile Nume, Prenume.

Completm urmtoarele dou coloane din gril cu:

Medie: ([Nota 1]+[Nota 2]+[Nota 3])/3
Rezultat: IIf([Medie]>=5;"admis";"respins")

La linia Sort alegem tipul de sortare ascendent. Interogarea va arta ca n figura 3.24..
nchidem interogarea de la butonul x, se salveaz sub numele Interogarea 2, apoi
vizualizm rezultatul prin deschiderea acesteia din fereastra Database, opiunea Queries
(Interogri) (figura 3.29).



Fig. 3.24. Interogarea



3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 69


Fig. 3.25. Rezultatul interogrii



3.2.5. Utilizarea parametrilor

Interogrile de selecie prezentate pn n acest moment returneaz ntotdeauna nregistrrile
din tabelele surs care corespund unei anumite cereri fixe: clienii trebuie s aib domiciliul n
Bucureti sau Ploieti iar data livrrii s fie anterioare datei curente (vezi exemplul de interogare de
selecie prezentat ntr-un paragraf anterior).
De multe ori ns, ar fi util o interogare al crei criteriu de selecie s poat fi precizat la
nivel general i particularizat de utilizator n funcie de necesitile sale de informare (precizndu-se
concret ce realizri ale atributului sunt cutate) chiar n momentul execuiei cererii. O astfel de
interogare se caracterizeaz prin faptul c n grila Design, pe coloana dorit, n linia Criteria, se va
preciza ntre paranteze drepte un mesaj ce urmeaz a fi afiat la executarea cererii permind ca
utilizatorul s introduc criteriul de selecie dorit.
Parametrii pot fi utilizai nu doar n rndul de criterii, ci i n formulele cmpurilor calculate,
dac se dorete introducerea unui termen variabil n expresii. Exemplul din figura 3.26. prezint o
cerere care va solicita utilizatorului numrul comenzii ce se dorete a fi afiat i procentul ce va fi
folosit pentru a calcula cmpul Reducere.
Cnd se creeaz i salveaz o interogare este posibil s nu se cunoasc valorile pentru un
cmp.
Se va crea un parametru pentru interogare (un nume de cmp diferit de numele cmpurilor
tabelei sau interogrii, ncadrat de paranteze drepte).
La execuia interogrii apare o caset de dialog prin care se cere valoarea pentru cmpul
parametru.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 70



Fig. 3.26. Interogare cu parametri

Aplicaia 3.6: Pe baza unei tabele existente cu structura:
studenti2 (ID, Nume, Prenume, Tip student, Facultatea, Grupa, An studiu, Media)
s se realizeze o interogare parametrizat care s listeze studenii unei grupe dintr-o
facultate, n ordine alfabetic (figura 3.27.). Rezultatul este prezentat n figura 3.28..



Fig. 3.27. Interogare cu parametri
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 71



Fig. 3.28. Rezultatul interogrii


Aplicaia 3.7: S se obin o lis a intrrilor de materiale pentru o anumit perioad. Pentru
aceasta se va realiza o interogare parametrizat (figura 3.29) pe baza tabelelor:

comenzi (nrnrcd, datanrcd, codfurnizor, codgestiune, codfactura, datafact)
material (nrnrcd, codmaterial, cantaprov, pretaprov)





Fig. 3.29. Tabelele comenzi i material
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 72


Fig. 3.30. Interogarea Intrari

Rezultatele interogrii pentru datele 03.03.2004 i 14.04.2004 sunt redate n figura 3.31..



Fig. 3.31. Rezultatul interogrii

Aplicaia 3.8: S se obin o list a intrrilor de materiale exprimate n dolari. Interogarea
(figura 3.32.) va utiliza ca surs de date tabela material.
Pentru a afia datele din cmpul valoare cu semnul (figura 3.33.) trebuie parametrizat
proprietatea Format, astfel:
se selecteaz din grila de interogare cmpul valoare;
se afieaz fereastra Field Properties;
pentru proprietatea Format se selecteaz formatul monetar dorit (Currency).
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 73



Fig. 3.32. Interogarea Valuta



Fig. 3.33. Rezultatul interogrii Valuta

3.2.6. Interogri de sintetizare a datelor

Pe lng posibilitatea de a utiliza expresii pentru a aduga cmpuri calculate n interogri,
Access permite utilizatorilor realizarea unor cereri prin intermediul crora se pot aplica funcii unor
nregistrri grupate dup criterii prestabilite. Prin intermediul acestor query cu rol de sintetizare a
datelor se pot construi cu uurin cereri care s returneze totalul, media, minimul sau maximul unor
grupuri de tupluri.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 74

Pentru a realiza o cerere de sintetizare a datelor se va elabora interogarea de selecie
aducndu-se n grila Query Design cmpurile necesare i adugndu-se eventualele cmpuri
calculate, dup care se va apsa butonul Totals din bara de instrumente.
Ca rezultat al acestei operaii, n grila Query Design, va fi disponibil un nou rnd intitulat
Total. n mod implicit, gruparea datelor dup valorile
cmpului toate coloanele vor avea selectat n linia total
opiunea Group By (n cazul n care mai multe coloane au
selectat n linia Total opiunea Group By, gruparea se va
face nti dup primul cmp din stnga, apoi dup al
doilea, .a.m.d.).
Se va pstra opiunea Group By n dreptul
cmpurilor de grupare, urmnd ca pentru celelalte cmpuri
s fie selectat din lista de selecie funcia dorit (figura
3.34.).
Fig. 3.34.
Lista conine nou funcii de tip agregat (funcii ce permit calculul unor valori totalizatoare
la nivel de grup) ce sunt prezentate n tabelul urmtor:
Funcia Returneaz
Tipul de cmpuri pentru care se poate
aplica
AVG Media aritmetic Number, Date, Currency, AutoNumber
COUNT Numrul total de valori Toate tipurile
FIRST Prima valoare Toate tipurile
LAST Ultima valoare Toate tipurile
MAX Valoarea maxim Text, Number, Date, Currency, AutoNumber
MIN Valoarea minim Text, Number, Date, Currency, AutoNumber
STDEV Deviaia standard a valorilor Number, Date, Currency, AutoNumber
SUM Suma valorilor Number, Date, Currency, AutoNumber
VAR Varianta valorilor Number, Date, Currency, AutoNumber

Pe lng aceste funcii mai sunt disponibile opiunile Where i Expression.
Opiunea Where se va utiliza dac un cmp trebuie utilizat pentru a preciza anumite criterii
de selecie, dar nu se dorete efectuarea gruprii dup cmpul respectiv.
Opiunea Expression se va utiliza pentru cmpurile calculate ce returneaz un singur
rezultat la nivelul grupului.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 75

Aplicaia 3.9: Interogarea din figura 3.35 calculeaz numrul de comenzi efectuate de ctre
fiecare client n ultimele 60 zile.
Interogarea din figura 3.37 calculeaz valoarea total a fiecrei comenzi prin intermediul
funciei Sum i, ntr-un cmp calculat ce utilizeaz funcia IIF, determin valoarea unei eventuale
reduceri pentru respectiva comand (reducerea n sum de 25% din valoarea comenzii) se acord
doar dac comanda depete 1.000.000 lei.



Fig. 3.35. Interogare totalizatoare




Fig. 3.36. Rezultatul interogrii


Se va observa alegerea cmpului cod_client pentru efectuarea gruprii (deoarece acest cmp
are valori unice), a funciei First pentru a afia numele clientului i a opiunii Where pentru a
preciza criteriul de selecie (ultimele 60 zile). Dac n loc de Where s-ar fi pstrat opiunea Group
By s-ar fi produs gruparea dup datele comenzilor i un client ar fi aprut n lista de rezultate de mai
multe ori (pentru fiecare zi n care a efectuat o comand).
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 76

Dac s-ar fi selectat Group By i pentru cmpul nume_client rezultatele interogrii ar fi fost
identice dar gruparea dup cel de-al doilea cmp ar fi fost inutil din moment ce codurile clienilor
sunt unice.
Trebuie remarcat c un cmp pentru care a fost selectat opiunea Where nu mai poate figura
n rezultatele cererii.
Dup cum se poate vedea n figura 3.36 cmpurile rezultate ca urmare a aplicrii funciilor
agregat poart nume ce includ ca prefix numele funciei (CountOf, FirstOf).
Pentru a evita aceast situaie se poate tasta in linia Field numele dorit urmat de dou puncte
(la fel ca n cazul cmpurilor calculate).



Fig. 3.37. Interogare totalizatoare



Fig. 3.38. Rezultatul interogrii

3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 77

Aplicaia 3.10: Se dau tabelele:

comenzi (nrnrcd, datanrcd, codfurnizor, codgestiune, codfactura, datafact)

material (nrnrcd, codmaterial, cantaprov, pretaprov)






Fig. 3.39. Tabelele bazei de date

S se obin lista totalurilor valorice, inclusiv TVA, pentru materialele intrate pe fiecare
magazie (figurile 3.40 i 3.41).
S se obin lista cu preurile maxim, minim i mediu pentru intrrile de materiale pe coduri
(figurile 3.42 i 3.43).
S se obin totalul valoric al materialelor aprovizionate de la un furnizor (figurile 3.44 i
3.45).
S se afieze numrul intrrilor de materiale de la furnizor (numrul nregistrrilor) pe fiecare
cod de materiale (figurile 3.46 i 3.47).
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 78


Fig. 3.40. Interogarea care utilizeaz funcia SUM



Fig. 3.41. Lista cu totalurile valorice pe gestiuni


Fig. 3.42. Interogarea
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 79



Fig. 3.43. Rezultatul interogrii





Fig. 3.44. Interogarea cu valoarea materialelor aprovizionate de la un furnizor





Fig. 3.45. Tabelul cu valoarea materialelor aprovizionate de la un furnizor

3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 80



Fig. 3.46. Interogarea pentru numrarea nregistrrilor pe coduri de materiale




Fig. 3.47. Rezultatul interogrii

3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 81

Aplicaia 3.11: Se dau tabelele:
student (cod_student, Nume, Prenume, Grupa, Facultatea)
curs (cod_curs, denumire)
prof (cod_curs, cod_student, nota)






Fig. 3.48. Tabelele bazei de date

S se realizeze o interogare pentru obinerea mediei generale a grupei 200 pentru studenii
care au medii de cel puin 5. Studenii au un numr de 6 discipline.

Rezolvarea problemei se va realiza n dou etape:
se va face o interogare de tip total pentru calculul mediei fiecrui student de la toate grupele i
se vor afia cele mai mari sau egale cu 5 interogarea Medie (figura 3.49.);
se va face o interogare pe baza interogrii precedente, Medie, i a tabelei Student, se vor
calcula mediile generale pe fiecare grup, dar va fi afiat numai grupa 200 interogarea
Medie_generala (figura 3.51)

Dac se dorete afiarea mediei generale doar cu dou zecimale vom alege Properties >
Format > Fixed pentru cmpul Media al interogrii Medie_generala.

3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 82





Fig. 3.48. Tabelele bazei de date
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 83


Fig. 3.49. Interogarea Medie



Fig. 3.50. Rezultatul interogrii Medie



Fig. 3.51. Interogarea Medie_general Fig. 3.52. Rezultatul interogrii Medie_general
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 84

3.2.7. Extragerea subcmpurilor dintr-un cmp

Aplicaia 3.12: Fie tabelul: clienti (cod_client, nume_client, tara, localitate, adresa,
cod_potal, telefon).
Interogarea din figura 3.53 extrage din cmpul ara primele trei caractere.


Fig. 3.53. Interogarea




Fig. 3.54. Rezultatul interogrii


Aplicaia 3.13: Se cere o list cu specificarea lunii n care materialele au fost facturate.

Pentru a extrage luna din data calendaristic se utilizeaz expresia:
Trim: DatePart(m, [datafact])
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 85
Pentru a extrage anul din data calendaristic se utilizeaz expresia:
An: DatePart(yyyy, [datafact])

Pentru a extrage anul din data calendaristic se utilizeaz expresia:
An: DatePart(yyyy, [datafact])



Fig. 3.55. Interogarea ce extrage luna din data calendaristic




Fig. 3.56. Rezultatul interogrii
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 86

Lista intrrilor de materiale cu specificarea zilei i a lunii n care au fost recepionate, se
poate realiza prin interogarea din figura 3.57..



Fig. 3.57. Interogarea ce extrage ziua i luna din data calendaristic




Fig. 3.58. Rezultatul interogrii



3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 87

3.3. Interogarea tip tabel ncruciat

Sunt interogri de tip total, cu deosebirea c n listele obinuite care folosesc denumirea
cmpurilor ca titluri de coloane, tabelul ncruciat este un mod de a sintetiza datele ntr-o form
specific.
Interogrile de tip tabel ncruciat (CrossTab Query) sunt extrem de utile n scopul analizei
multidimensionale a datelor permind obinerea unor situaii sintetice asemntoare tabelelor pivot
consacrate de procesoarele de tabele (Microsoft Excel, Lotus 123, etc.).
Practic, este posibil elaborarea unor tabele n care gruparea i ordonarea datelor se
realizeaz att pe linii ct i pe coloane la intersecia crora se pot efectua calcule complexe.
Pentru o interogare tabel ncruciat sunt necesare cel puin 3 cmpuri:
unul care s furnizeze valorile pentru titlurile de rnd (Row Heading), cu meniunea c se pot
alege mai multe cmpuri antet de rnd;
unul care s dea valorile pentru titlurile de coloane (Column Heading); un singur cmp
poate fi antet de coloan;
unul care s fie baz pentru calcularea valorilor sintetice de afiat la punctele de intersecie
rnd coloan; aceste valori se obin, de regul, prin nsumare i numrare utiliznd funciile
Sum i Count.

Etapele ce trebuie urmate pentru realizarea unei astfel de cereri de interogare sunt
urmtoarele (Access dispune i de un program wizard ce permite elaborarea asistat a unor astfel de
interogri):
1. Elaborarea unei interogri de selecie n modul Design View. Se vor alege tabelele ce conin
datele i se vor selecta cmpurile dorite pentru afiare i eventualele cmpuri pentru care se
vor impune restricii.
2. Din meniul Query se va selecta opiunea CrossTab Query ce va avea ca efect imediat afiarea
liniilor Total i Crosstab n grila interogrii.
3. Se va specifica modul de agregare a datelor, respectiv funciile totalizatoare n linia Total.
4. n linia CrossTab se va opta pentru Row Heading n cazul cmpurile ce vor fi afiate pe liniile
tabelului, Column Heading pentru cmpul ce va fi afiat pe vertical, i Value pentru valorile
ce vor fi afiate la intersecia liniilor cu coloanele. Este permis existena mai multor cmpuri
ordonate pe orizontal (Row Heading), dar a unui singur cmp Column Heading i a unui
singur cmp Value.

3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 88

Aplicaia 3.14: Fie tabelele cu relaiile:



Se vrea:
obinere a unei situaii ce afieaz valoarea vnzrilor realizate de firm de la nceputul anului
din fiecare produs n fiecare localitate (interogarea Vnzri pe localiti);
aflarea numrului de comenzi realizate de fiecare client n fiecare lun a anului (interogarea
Comenzi pe lun).






Fig. 3.59. Tabelele bazei de date
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 89



Fig. 3.59. Tabelele bazei de date





Fig. 3.60. Interogare de tip tabel ncruciat





Fig. 3.61. Rezultatul interogrii
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 90




Fig. 3.62. Interogare de tip tabel ncruciat





Fig. 3.63. Rezultatul interogrii


Dup cum se poate observa, interogarea nu afieaz coloanele aferente lunilor anului n care
nu s-a efectuat nici o comand. Acest aspect conduce la inconveniente n cazul n care se dorete
elaborarea unui raport avnd ca surs cererea de interogare deoarece raportul presupune specificarea
unui numr fix de cmpuri.

O soluie pentru afiarea coloanelor chiar dac acestea nu conin valori este precizarea
numelor acestora n grila de proprieti a interogrii. Pentru aceasta se va deschide interogarea n
modul de proiectare i din meniul View se selecteaz opiunea Properties, specificndu-se numele
coloanelor obligatorii n rndul Column Headings al ferestrei Query Properties (figura 3.64).
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 91



Fig. 3.64.

Aplicaia 3.15: Fie o baz de date ce conine tabelele:

material (codmaterial, denmaterial, um)

stoc (codgestiune, codmaterial, stocinitial, datainitiala)

Se cere afiarea cantitilor de materiale stocate n magaziile ntreprinderilor.




Fig. 3.65. Tabelele bazei de date
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 92



Fig. 3.66. Interogarea privind stocurile de materiale pe magazii





Fig. 3.67. Rezultatul interogrii


Aplicaia 3.16: Fie o baz de date ce conine tabelul:

auto (nrfactura, datafactura, beneficiar, tipauto, cant, pret)

S se realizeze o interogare cu vnzrile lunare pe tipuri auto.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 93

Fig. 3.68. Tabelul bazei de date


Fig. 3.69. Vnzrile lunare pe tipuri auto


Fig. 3.70. Rezultatul interogrii
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 94

3.4. Interogri de aciune


Interogrile de aciune pot avea ca rezultat:
Crearea de noi tabele (Make Table Query)
Actualizarea datelor (Update Query)
Adugarea de noi nregistrri (Append Query)
tergerea nregistrrilor (Delete Query)

Modul de elaborare a unei interogri tip aciune este similar celui prezentat n cazul
interogrilor de selecie, presupunnd ca etap suplimentar specificarea explicit prin intermediul
meniului Query a tipului de cerere dorit.
Modificrile asupra bazei de date sunt efectuate doar n momentul execuiei interogrii.
Este recomandat proiectarea n prealabil a cererii ca o simpl interogare de selecie i
verificarea rezultatelor ce vor fi afectate deoarece nu exist posibilitatea revenirii n cazul tergerii
sau modificrii eronate a nregistrrilor.

3.4.1. Interogri pentru crearea de noi tabele (Make Table Query)

Crearea de noi tabele pe baza nregistrrilor din tabelele deja existente presupune
parcurgerea urmtoarelor etape:
1. Elaborarea unei interogri de selecie n modul Design View (vor fi luate n calcul doar
cmpurile ce dorim s fac parte din structura noii tabele, iar, n cazul n care sunt necesare i
alte cmpuri pentru aplicarea unor criterii, acestea nu vor fi marcate n linia Show a grilei
QBE).
2. Apelarea din meniul Query a opiunii Make Table Query i specificarea n casete Make Table
a numelui noii tabele (se poate opta pentru crearea noii tabele ntr-o alt baz de date bifnd
opiunea Another Database i specificnd numele fiierului).
3. Lansarea n execuie a interogrii.
Tabela rezultat va moteni doar tipurile de date i dimensiunile cmpurilor din tabelele
surs, nu i cheia primar sau eventualele proprieti la nivel de cmp ori tabel.

Exemplul urmtor ilustreaz crearea unei tabele (clieni 2 pentru aplicaiile 3.2, 3.9) ce va
conine codurile, numele i telefoanele clienilor din afara rii (figura 3.71).
Exist posibilitatea generrii unor tabele care s conin cmpuri ce nu exist n tabelele
surs (cmpuri calculate). Un exemplu n acest sens este prezentat n figura 3.72 i reprezint modul
de obinere a unei tabele n care sunt evideniate cantitile comandate din fiecare produs.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 95



Fig. 3.71. Interogarea Make Table Query




Fig. 3.72.

n cazul executrii repetate a unei astfel de interogri, sau atunci cnd se specific n caseta
Make Table numele unei tabele deja existente, vechea tabel cu acelai nume va fi tears naintea
generrii celei noi.

3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 96

3.4.2. Interogri pentru actualizarea datelor (Update Query)

Acest tip de interogri permit modificarea valorilor datelor din unul sau mai multe cmpuri
ale nregistrrilor ce satisfac restriciile impuse de utilizator.
Pentru a realiza o interogare de tip Update este necesar selectarea n modul Design View a
cmpurilor ce vor fi actualizate i, eventual, a celor ce fac obiectul restriciilor, dup care se va
apela din meniul Query opiunea Update Query. Ca rezultat al acestei operaii n grila QBE va fi
disponibil linia Update To n care se va putea completa formula de calcul sau valoarea dorit
pentru actualizare.
Pentru exemplificare (figura 3.73) presupunem c, n urma renegocierii termenelor, s-a
hotrt amnarea livrrilor ctre clientul SQL SRL cu 5 zile. Modificarea se va produce evident
doar n cazul comenzilor care nu au fost nc expediate. Rezultatul este prezentat n figura 3.74.



Fig. 3.73. Interogarea Update Query


Se remarc notaia ntre paranteze drepte a denumirilor de cmpuri, chiar dac acestea nu
conin spaii.

n cadrul interogrilor Update nu sunt admise modificri asupra cmpurilor cheie primar
sau modificri ce ar putea conduce la nerespectarea restriciilor de integritate. O situaie ce ar putea
genera erori survine atunci cnd, n cazul cmpurilor de tip text, valoarea rezultat depete
lungimea cmpului din tabel. n acest caz valoarea va fi trunchiat din partea dreapt.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 97



Tabela comenzi nainte de update Tabela comenzi dup de update

Fig. 3.74.



3.4.3. Interogri pentru adugarea de nregistrri (Append Query)

Interogrile pentru adugare ofer utilizatorilor posibilitatea inserrii de noi nregistrri n
tabel pornind de la nregistrrile existente.
Pentru a realiza o interogare de tip Append este necesar parcurgerea urmtoarelor etape:
1. Elaborarea unei interogri de selecie n modul Design View. Se va alege tabela ce conine
datele i vor fi luate n calcul doar cmpurile ce conin valorile ce vor fi adugate, iar, n cazul
n care se dorete aplicarea unor criterii de selecie a acestora, se vor aduga cmpurile de
restricionat.
2. Se vor tasta eventualele condiii n linia de criterii a interogrii.
3. Din meniul Query se va selecta opiunea Append Query ce va conduce la afiarea ferestrei
Append n care se va selecta numele tabelei n care dorim adugarea.
4. Transformarea interogrii de selecie ntr-o interogare de adugare are ca efect apariia
rndului Append To n fereastra de proiectare a interogrii. n acest rnd se va specifica pentru
fiecare cmp din tabela ce conine datele denumirea cmpului corespondent din tabela unde
vor fi adugate.

Pentru exemplificare vom presupune c dorim adugarea n tabela clieni 2 (ce conine n
momentul actual doar clienii din afara rii) a tuturor clienilor din tabele clieni ce nu au sediul n
Bucureti (figura 3.74).

Denumirile cmpurilor din linia Append o a grilei QBE sunt completate automat doar n
cazul n care acestea coincid n tabela sursa cu cele din tabela destinaie.
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 98



Fig. 3.75. Interogarea Append Query




3.4.4. Interogri pentru tergerea de nregistrri (Delete Query)

Interogrile aciune de tip Delete ofer posibilitatea eliminrii mai multor nregistrri din
tabele pe baza unor criterii impuse de utilizator.. Aciunea interogrilor de tergere acompaniat de
opiunea de tergere n cascad configurat n fereastra Relationships poate conduce la tergerea
simultan a datelor din mai multe tabele.
Pentru a realiza o interogare de tergere se elaboreaz n mod normal o cerere selectndu-se
cmpurile dorite i impunndu-se restriciile necesare dup care se apeleaz din meniul Query
opiunea Delete.
Exemplul urmtor prezint modalitatea n care se pot terge din baza de date toate comenzile
efectuate dup data de 9 februarie de clienii ce au codurile 2 sau 3 (figura 3.76).
Este evident c interogarea nu va putea fi executat n cazul n care tergerea unor
nregistrri n tabela Comenzi ar conduce la nclcarea regulilor de integritate a bazei de date
(relaia ntre tabela Comenzi i Coninut comand trebuie s accepte tergerea n cascad).



3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 99



Fig. 3.76. Interogarea Delete Query





Fig. 3.77. Tabela comenzi nainte de delete




Fig. 3.77. Tabela comenzi dup delete
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 100

Aplicaia 3.17: Fie o baz de date ce conine tabelele:






Fig. 3.78. Tabelele bazei de date

1. S se creeze o nou tabel (gestiune) pentru un cod de gestiune precizat de utilizator n timpul
execuiei i care s conin cmpurile: codgestiune (comenzi), nrnrcd (material_apr),
codmaterial (material_apr), denmaterial, cantaprov, pretaprov (figura3.79).
2. n tabela gestiune creat anterior, s se mai adauge nregistrrile altei gestiuni. Interogarea va
avea ca surs de date tabelele material, nrcd, material_apr (figura 3.81).
3. S se tearg nregistrrile referitoare la o gestiune din tabela gestiune rezultat din
interogarea de la punctul doi (figura 3.83).
4. S se modifice pretaprov pentru un material precizat n timpul execuiei (se micoreaz preul
cu 10%).
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 101


Fig. 3.79. Interogarea Make Table Query



Fig. 3.80. Rezultatul interogrii tabela gestiune



Fig. 3.81. Interogarea Append Query
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 102



Fig. 3.82. Rezultatul interogrii tabela gestiune




Fig. 3.83. Interogarea Delete Query




Fig. 3.84. Interogarea Update Query
3. Microsoft Access Interogri (Queries)
Nchil Ctlin laborator Access 103



Fig. 3.84. Rezultatul interogrii Update Query dup ce s-a introdus codmaterial =1000

4. Formulare
Nchil Ctlin laborator Access 104

4. Microsoft Access Formulare (Forms)

4.1. Generaliti

Access pune la dispoziia proiectantului o serie de faciliti n vederea crerii unui formular.
Astfel se poate alege ntre:
generarea automat a unor formulare predefinite (AutoForm: Columnar, Tabular, Datasheet,
PivotTable, Pivotchart);
proiectarea asistat, caz n care utilizatorul este ndrumat de ctre o serie de asisteni
(Wizards: Form Wizard, Chart Wizard, PivotTable Wizard).
Pentru obinerea unor
machete mai complexe, utilizarea
asistenilor nu este suficient,
proiectantul fiind nevoit s aduc
modificri formularelor generate de
Access. Etapele necesare crerii unui
formular sunt urmtoarele:
1. Se acioneaz butonul New din
fereastra bazei de date pentru
activarea asistentului New
Form (figura 4.1.);
2. Se opteaz pentru una din
variantele:
Design View crearea
formularului cade n sarcina
exclusiv a utilizatorului;
Form Wizard utilizatorul va
fi asistat la crearea formularului;
AutoForm: Columnar Access va genera automat un formular de tip single form;
AutoForm: Tabular se creeaz automat un formular de tip Tabular,
AutoForm: Datasheet se va genera automat un formular Datasheet;
Chart Wizard utilizatorul va fi ndrumat n crearea unui formular ce va afia datele sub
form de grafic;
PivotTable Wizard - noul formular va ngloba o tabel pivot generat prin aplicaia Excel
(folosind tehnica OLE).
3. Se stabilete sursa de date (tabel sau interogare) a formularului. Aceast etap este obligatorie
pentru formularele generate automat (variantele AutoForm) i pentru formularele grafice
(obinute prin Chart Wizard).

Fig. 4.1. Modaliti de creare a formularelor
4. Formulare
Nchil Ctlin laborator Access 105

4.2. Formularele Wizard

4.2.1. Form Wizard & AutoForm

Proiectarea formularelor prin varianta Form Wizard presupune urmtoarele etape (atunci
cnd sursa de date este o tabel):
1. se acioneaz butonul New din fereastra bazei de date pentru activarea asistentului New Form
(figura 4.1.);
2. se opteaz pentru varianta Form Wizard;
3. se selecteaz tabela sau interogarea dorit n rubrica derulant solicitat; prin click pe butonul
Ok, sistemul intr n modul Wizard;
4. se selecteaz cmpurile din sursa de date, ce vor fi afiate n formular; cmpurile accesibile
ale tabelei/interogrii selectate sunt afiate n zona Available Fields; cmpurile ce for face
parte din formular sunt afiate n zona Selected Fields (figura 4.2.); selectarea cmpurilor se
face cu ajutorul butoanelor:
> pe al crui click se transmite un singur cmp selectat din zona Available Fields n zona
Selected Fields;
>> pe al crui click se transmit toate cmpurile din zona Available Fields n zona Selected
Fields;
< pentru revenirea unui cmp selectat din Selected Fields n Available Fields;
<< pentru revenirea tuturor cmpurilor selectate din Selected Fields n Available Fields;



Fig. 4.2.
4. Formulare
Nchil Ctlin laborator Access 106

5. se alege tipul de formular i anume opiunile privind forma de poziionare a datelor din
formular; opiunile sunt:
Columnar
Tabular
Datasheet
Justified
PivotTable
PivotChart
6. se stabilete imaginea de fundal pentru formular (Stone, Standard etc.);
7. n ultima etap se definete titlul formularului, precum i modul n care va fi deschis
formularul (figura 4.3.):



Fig. 4.3.

Exist posibilitatea opiunii asupra deschiderii noului formular:
Open the form to view or enter information pentru execuie;
Modify the form's design pentru eventuale modificri.

4. Formulare
Nchil Ctlin laborator Access 107

Unele din tipurile Autoform existente:
Columnar prezint valorile cmpurilor selectate n rubrici ncolonate (figura 4.4.);
Tabular prezint valorile n mod tabelar (pe coloane) (figura 4.5.);
Datasheet este identic cu forma Design View de la crearea tabelelor (figura 4.6.);
Justified prezint valorile cmpurilor selectate n rubrici ncolonate (figura 4.7.);



Fig. 4.4. Formular de tip Columnar



Fig. 4.5. Formular de tip Tabular
4. Formulare
Nchil Ctlin laborator Access 108



Fig. 4.6. Formular de tip Datasheet



Fig. 4.7. Formular de tip Justified

4.2.2. Chart Wizard

Un prim pas l constituie afiarea tuturor cmpurilor din tabela solicitat, cu zonele
Available Fields i Selected Fields (identic modului Form wizard). Dup executarea unui click pe
butonul Next, sistemul afieaz cel de-al doilea pas.
Al doilea pas solicit tipul de grafic. Sistemul ofer 20 asemenea tipuri de grafice (coloane
paralelipipedice, cilindrice, liniare, sub forma de bare orizontale, sub forma de disc etc.).
Dup selectarea tipului dorit de grafic i executarea de clic pe butonul Next, n cadrul
pasului al treilea, sistemul prezint modelul graficului, precum i cmpurile selectate anterior. n
mijlocul modelului se specific posibilitatea de nsumare a unor valori, sau (n cazul unor
alternative) mesajul Data. n mod distinct exist o caset Series. n partea dreapta a tabloului sunt
afiate cmpurile selectate anterior din tabela sursa.

4.2.3. Pivot Table Wizard

Modul Pivot Table Wizard este o combinaie ntre metoda Wizard (de efectuare a lucrrilor
n pai dictai de sistem) i interogrile de tip tabel ncruciat (Crosstab), adic genereaz formulare
de tip crosstab prin pai dictai de sistem.
4. Formulare
Nchil Ctlin laborator Access 109

Aplicaia 4.1: Fie o baz de date ce conine tabelele:









Fig. 4.8. Tabelele bazei de date

S se completeze tabelele ageni i proprietari utiliznd tipurile de formulare formularele de
tip Columnar, Tabular sau Justified prezentate (cte un formular pentru fiecare tabel).
4. Formulare
Nchil Ctlin laborator Access 110

S presupunem c se dorete graficul proporiei dintre apartamentele i garsonierele
existente n baza de date, ca cele dou alternative n cadrul cmpului tip_mobil. Pentru obinerea
unui asemenea grafic, n primul pas se va selecta, n zona Selected Fields, cmpul tip_mobil.
Considerm c n pasul al doilea s-a optat pentru tipul de grafic Pie (sub form de disc). n pasul al
treilea, se va draga cmpul tip_mobil, afiat n partea dreapta a tabloului Chart Wizard, peste caseta
Series din partea stnga a tabloului.
Se solicit suma preurilor de vnzare obinute n cadrul unor intervale calendaristice (luni).
Pentru aceasta, au fost selectate cmpurile pre_vnzare i data_vnzrii. n funcie de tipul
cmpului (text, numeric, dat calendaristic), sistemul organizeaz casetele Data i Series.
Pentru cazul exemplificat, cmpul rezervat preului de vnzare va lua iniial expresia Sum
(of pre_vnzare) i cmpul rezervat datei calendaristice a vnzrii va lua iniial expresia By month.
Ambele expresii pot fi comutate diferit, prin executarea unui dublu click pe identificatorul
expresiei. Astfel, Sum poate fi comutat la: Average, Min, Max, Count (valoare medie, minima,
maxima, numrare), iar By month poate fi comutat la By year, Quarter, Week, Day, Hour, Minute
(an, trimestru, sptmn, zi, or, minut).

4.3. Design View

Varianta Design View este mai puin folosit pentru crearea formularelor. Selectarea acestei
opiuni din fereastra New Form (figura 4.1.) i alegerea unui tabel sau interogri, are ca efect
generarea unui formular gol, n care utilizatorul i poate defini propriile controale. Cmpurile
sursei de date pot fi afiate prin preluarea lor din fereastra Field List (opiunea View > Field List)
n interiorul formularului (de obicei n seciunea Detail) (figura 4.9.).

Lista cmpurilor
Zona formularului
Zona din afara
formularului


Fig. 4.9. Crearea unui formular prin Design View
4. Formulare
Nchil Ctlin laborator Access 111

Bara de
titlu
Antetul
formei
Antetul
paginii
Subsolul
paginii
Subsolul
formei
Coninutul
formei


Fig. 4.10. Elementele unui formular (Design View)

Un formular are urmtoarea structur (figura 4.10.):
Bordura definete chenarul ce va delimita formularul pe ecran.
Antetul formularului (Form Header) este folosit, de regul, pentru a afia titlul
formularului. Aceast zon nu este vizibil n modul Datasheet. Dac formularul este
afiat n format Tabular, coninutul zonei de antet nu va fi derulat. Pentru ca aceast zon
s fie disponibil n timpul proiectrii, se selecteaz opiunea View > Form
Header/Footer, din meniul Access.
Antetul de pagin (Page Header) este o zon ce apare numai cnd formularul este
tiprit la imprimant. Pentru a fi disponibil n cursul proiectrii, se selecteaz opiunea
View > Page Header/Footer din meniul Access.
Seciunea de detaliu (Detail) va conine toate controalele necesare afirii/editrii
nregistrrilor. n timpul execuiei, formularul poate conine n aceast zon un control
numit selector de nregistrare (record selector) situat n marginea din stnga a
formularului (figura 4.11.).
4. Formulare
Nchil Ctlin laborator Access 112
Acest control permite:
afiarea strii nregistrrii curente (n curs de editare, nregistrare nou, nregistrare blocat
etc.)
selectarea nregistrrii curente n vederea tergerii sau copierii acesteia.

Subsolul de pagin (Page Footer) este afiat numai la tiprirea formularului i poate
conine data curent, numrul de pagin, etc.
h. Subsolul formularului (Form Footer) are aceleai caracteristici cu zona de antet i
poate s conin, spre exemplu, totalul general sau diverse alte controale (butoane pentru
salvare, adugare, tergere de nregistrri etc.).
Butoane de navigare sunt afiate numai n timpul execuiei formularului i pot fi
folosite pentru deplasri n cadrul nregistrrilor.

Butoane
de
navigare
Selector de
nregistrare


Fig. 4.11. Formular (Design View)


4.3.1. Proprietile obiectelor Forms

Proprietile formularelor pot fi accesate fie prin intermediul ferestrei Properties (activat
prin opiunea View > Properties, din meniul Access), fie prin intermediul obiectelor de tip macro
sau limbajul VBA. Metodele pot fi accesate (att la proiectare, ct i n cursul execuiei) numai prin
aciuni macro sau din cadrul unor proceduri/funcii VBA.
4. Formulare
Nchil Ctlin laborator Access 113

Setarea unei proprieti se poate face prin urmtoarele variante:
tastarea valorii respective;
selectarea valorii dintr-o list derulant (dac aceasta este disponibil);
cu ajutorul asistentului, care poate fi invocat prin apsarea butonului Build Wizard (atunci
cnd acest buton este disponibil).

n cadrul ferestrei Properties, proprietile formularului curent sunt mprite n patru
categorii:

1. Format conine atribute privitoare la dimensiune, aspect, coordonatele de afiare ale
formularului etc.;
Caption conine titlul formularului ce va aprea n bara de titlu a acestuia;
Default View specific modul implicit de afiare, folosit la execuia formularului
(Single Form, Tabular Form, Datasheet);
Views Allowed reprezint modurile de afiare ce sunt disponibile n timpul execuiei;
Scroll Bars seteaz barele de defilare vizibile n cursul execuiei (bara orizontal, bara
vertical, amndou sau nici una);
Record Selectors afieaz sau nu selectorul de nregistrare n timpul execuiei
formularului;
Navigation Buttons specific dac formularul va conine butoanele de navigare n
cursul execuiei sale;
Dividing Lines precizeaz dac se afieaz linii pentru delimitarea seciunilor
formularului sau a nregistrrilor la execuie;
Auto Center dac este setat pe valoarea Yes, formularul va fi afiat, la execuie, n
centrul ecranului;
Border Style specific tipul bordurii. Setarea acestei proprieti va avea efect i asupra
comportamentului formularului:
None formular fr bordur (formularul nu va putea fi redimensionat la execuie);
Thin bordur subire (formularul nu va putea fi redimensionat);
Sizable bordura implicit (formularul poate fi redimensionat);
Dialog bordura subire (formularul nu poate fi redimensionat iar bara de titlu va conine
doar butonul pentru nchidere Close obinndu-se astfel un formular de tip Dialog Box).
Control Box indic prezena meniului sistem n bara de titlu;
Min Max Buttons dezactiveaz sau activeaz fie ambele, fie unul din butoanele de
minimizare i maximizare din bara de titlu;
Close Button indic prezena butonului de nchidere (Close) n bara de titlu;
4. Formulare
Nchil Ctlin laborator Access 114

Width specific limea formularului i implicit a tuturor seciunilor. Aceast
proprietate poate fi modificat n timpul proiectrii formularului, dar i n cursul execuiei
acestuia (dac bordura este de tip Sizable), cu ajutorul mouse-lui.
Picture poate conine specificatorul unui fiier grafic, al crui coninut va fi afiat pe
fundalul formularului;
Picture Type specific varianta OLE folosit:
Embedded (nglobat) imaginea este inclus n formular;
Linked (legat) se creeaz doar o legtur ctre fiierul grafic (formularul nu va afia
imaginea respectiv dac fiierul este ters, mutat etc.).
Grid X conine numrul de subdiviziuni orizontale pe unitatea de msur (cm, inch,
etc.). Grila (Grid) servete la alinierea automat a controalelor.
Grid Y conine numrul de subdiviziuni verticale pe unitatea de msur (intervalul
1-64).


2. Data grupeaz proprieti referitoare la sursa de date i nregistrrile aferente;

Record Source conine sursa de date a formularului (tabel sau interogare). Aceast
proprietate poate conine chiar i o comanda SQL (sunt admise numai cererile de
selecie).
Un formular va avea ca surs de date o interogare dac:
afieaz n format Datasheet sau Tabular, controale nelegate;
afieaz cmpuri din mai multe tabele.
Filter conine criteriul de selecie care se va aplica nregistrrilor din formular. Condiia
de filtrare este o clauz SQL WHERE, ns fr s conin cuvntul WHERE.
Pentru ca filtrul s fie activ, proprietatea Filter On trebuie setat pe valoarea True (setare ce
se poate face numai din VBA).
Order By permite specificarea cmpurilor dup care vor fi sortate nregistrrii din
formular. Sintaxa este identic cu sintaxa clauzei SQL, OrderBy.
Pentru ca operaia de ordonare s se execute automat la deschiderea formularului,
proprietatea OrderByOn trebuie setat pe True (proprietatea este disponibil numai din VBA).
Data Entry dac este setat pe valoarea Yes, formularul nu va afia, la deschidere,
nregistrrile existente. Proprietatea este util pentru formularele ce vor permite numai
adugarea de nregistrri.
Record Locks specific dac i ce nregistrri vor fi blocate pentru ali utilizator
(blocarea se poate face fie pentru toate nregistrrile, fie numai pentru nregistrarea
curent).
4. Formulare
Nchil Ctlin laborator Access 115

3. Event conine evenimentele ce pot fi tratate fie prin proceduri sau funcii scrise n limbajul
VBA, fie prin macro-un. Proprietile acestei categorii se numesc proprieti eveniment i au
denumiri asemntoare cu cele ale evenimentelor crora le sunt ataate. Apar astfel trei
posibiliti:
eveniment tratat printr-o funcie proprietatea eveniment va conine o expresie de forma:
NumeFuncie([ListaParametrii])
eveniment tratat printr-o procedur eveniment proprietatea eveniment va conine
expresia EventProcedure, iar editarea procedurii se poate face prin acionarea butonului
BuildWizard, la invocarea cruia Access deschide editorul de module, n care genereaz o
procedur vid sub forma:
Private Sub Form_numeEveniment([ListParametriiFormali])
End Sub
eveniment tratat printr-un macro

Cele mai uzuale evenimente sunt:
Eveniment
Poate fi
abandonat ?
Proprietatea
eveniment
Descriere
Current Nu On Current
Este nregistrat n momentul trecerii de la o
nregistrare la alta.
BeforeUpdate Da BeforeUpdate
Apare naintea salvrii nregistrrii curente i
tabel. Acest eveniment este frecvent folosit
pentru validarea datelor curente.
Delete Da On Delete
Evenimentul apare naintea tergerii nregistrrii
curente i poate fi folosit pentru obinerea unei
confirmri din partea utilizatorului cu privire la
aceast operaie. Dac se dorete tergerea unui
bloc de nregistrri, atunci evenimentul se va
declana pentru fiecare nregistrare.
Open Da On Open
Apare naintea afirii pe ecran a formularului,
la deschiderea acestuia. Poate fi folosit pentru
activarea criteriului de selecie definit i
proprietatea Filter, pentru setarea unor
controale naintea afirii acestora, pentru
citirea argumentului transmis formularului, etc..
Unload Da On Unload
Este un eveniment declanat naintea nchiderii
formularului. Evenimentul poate fi folosit
pentru a cere confirmarea utilizatorului cu
privire la nchiderea formularului, atunci cnd
datele nu au fost salvate.
4. Formulare
Nchil Ctlin laborator Access 116
Close Nu On Close
Evenimentul este nregistrat n timpul nchiderii
formularului (formularul este afiat pe ecran) i
poate fi folosit pentru deschiderea altor
formulare, pentru tergerea obiectelor temporare
generate "n timpul execuiei formularului, etc..
Activate Nu On Activate
Este declanat la activarea formularului (fie la
deschiderea lui, fie la selectarea lui dintr-o alt
fereastr) i poate fi folosit, de exemplu, pentru
refacerea valorilor unei liste derulante, n urma
actualizrii tabelei surs printr-un alt formular.
Click Nu On Click
Apare la efectuarea unui click pe selectorul de
nregistrare sau pe zona liber a formularului
(zona aflat n afara seciunilor).
Error Nu On Error
Evenimentul este declanat la apariia unei erori
n cursul execuiei formularului (de exemplu,
eroarea generat la introducerea unei valori ce
nu respect condiiile de validare sau restricia
de integritate). Utilitatea acestui eveniment
apare atunci cnd se dorete interceptarea
erorilor generate de Access h vederea tratrii
lor.
Timer Nu On Timer
Este un eveniment care apare la o anumit
perioad de timp, stabilit de utilizator prin
proprietatea Timer Interval (valoarea atribuit
este n milisecunde). Poate fi utilizat pentru
crearea diferitelor efecte vizuale, pentru
citirea/setarea unor variabile globale etc..

4. Other conine diverse alte proprieti.

Pop Up dac se dorete ca, n cursul execuiei sale, formularul s fie permanent vizibil
(va fi poziionat permanent deasupra celorlalte ferestre, chiar dac nu este activ), aceast
proprietate se va seta pe valoarea Yes;
Modal specific dac formularul va fi modal sau nemodal;
Cycle descrie efectul apsrii tastei Tab pe ultimul cmp din formular: salt la
urmtoarea nregistrare (All records), revenire la primul cmp (Current record), revenire
la primul cmp din pagina curent (Current Page);
Menu Bar conine numele unui meniu creat de utilizator, ce va fi afiat la lansarea n
execuie a formularului;
Toolbar indic toolbar-ul propriu ce va fi disponibil n cursul rulrii.
4. Formulare
Nchil Ctlin laborator Access 117

4.3.2. Controale n formulare (Toolbox)

Controalele sunt obiecte grafice (elemente vizuale) ce sunt incluse n formulare sau rapoarte,
n scopul editrii/afirii datelor sau executrii unor aciuni (ex.: etichete,
casete text, butoane, etc.). Adugarea controalelor se poate face numai n
etapele de creare sau modificare a formularelor, astfel:
din fereastra Toolbox se selecteaz butonul aferent controlului dorit;
se descrie, cu ajutorul mouse-lui, o zon dreptunghiular pe suprafaa
formularului, definind astfel poziia i dimensiunea noului control.

Control Descriere
Indicator
(Select Objects)
Instrument folosit la proiectarea controalelor (selecie, repoziionare,
redimensionare, etc.)
Asisteni
(Control Wizards)
Activeaz/dezactiveaz utilitarele Wizards folosite la generarea unor
controale mai complexe (casete combinate, casete list, grupuri de
opiune, etc.).
Eticheta
(Label)
Control cu coninut fix, folosit pentru afiarea unor mesaje. n general,
Access genereaz cte o etichet pentru majoritatea controalelor definite
de utilizator.
Caseta text
(Text Box)
Control utilizat pentru afiarea i editarea datelor.
Butonul de comand
(Command Button)
Servete la declanarea unor aciuni.
Caseta list
(List Box)
Permite selectarea unei valori dintr-o list.
Caseta combinat
(Combo Box)
mbin proprietile unei casete text cu cele ale unei casete de tip list
(permite att editarea unei valori, ct i selectarea acesteia dintr-o list
derulant). Caseta combinat este un control ce se folosete frecvent
pentru actualizarea cheilor externe.
Butonul-comutator
(Toggle Button),
Butonul de opiune
(Option Button),
Caseta de validare
(Check Box)
Sunt controale folosite pentru editarea unor valori de tip logic
(Yes / No, On / Off, True / False).
4. Formulare
Nchil Ctlin laborator Access 118
Grupul de opiune
(Option Group)
Este un control container folosit pentru afiarea unui set de alternative i
poate grupa mai multe tipuri de controale (buton de opiune, caset de
validare etc.)
Delimitator de pagin
(Page Break)
Controlul Page Break mparte formularul n mai multe pagini care pot fi
vizualizate cu ajutorul tastelor PageUp i PageDown. Poate fi, de
asemenea, folosit pentru salt la pagin nou, n cazul tipririi formularului
Index
(Control Tab)
Controlul de tip Tab este un control container ce permite gruparea altor
controale n mai multe pagini, atunci cnd formularul conine un numr
prea mare de controale.
Linie (Line)
Dreptunghi (Rectangle)
Controalele servesc la trasarea diverselor figuri geometrice.
Imagine
(Image)
Permite afiarea coninutului unor fiiere grafice (.bmp, .gif, .wmf, .pcx,
etc.), pe fundalul formularului.
Obiect cadru nelegat
(Unbound Object
Frame)
Este un control ce va conine un obiect (grafic, multimedia, document
etc.), importat dintr-o alt aplicaie Windows (Word, Excel, Paint, Sound
Recorder etc.) prin tehnologia OLE (Object Linking and Embedding).
Obiect cadru legat
(Bound Object Frame)
Conine un obiect stocat ntr-un cmp de tip OLE din tabela surs
Subformular (Subform) Permite definirea unui subformular n cadrul formularului curent.
Alte controale
(More Controls)
Afieaz alte controale nregistrate, ce pot fi ataate formularului
(controale ActiveX etc.)

4.3.3. Proprietile controalelor

Proprietile unui control sunt afiate n fereastra Properties, atunci cnd controlul respectiv
este selectat. Ca i n cazul formularelor, metodele aferente controalelor sunt grupate n patru
categorii (Format, Data, Events, Other) i sunt disponibile numai prin intermediul macro-urilor sau
modulelor VBA.

Cele mai uzuale proprieti sunt:

1. Proprieti din categoria Format:
Format specific modelul (masca) de afiare a datelor (numai pentru casetele text);
Decimal Places indic numrul de zecimale cu care vor fi afiate datele (numai pentru
casete text);
4. Formulare
Nchil Ctlin laborator Access 119

Caption conine textul afiat de control (numai pentru controalele needitabile: etichete,
butoane etc.);
Visible determin afiarea sau nu a controlului n timpul execuiei formularului;
Left stabilete coordonata orizontal a colului stnga-sus al controlului;
Top indic poziia pe vertical a colului stnga-sus;
Width stabilete limea controlului:
Height stabilete nlimea obiectului;
Back Style determin modul de afiare: control normal sau transparent;
Back Color stabilete culoarea de fundal a controlului;
Special efect specific efectele tridimensionale ale controlului;
Border Style indic tipul linie folosit la trasarea bordurii controlului (transparent, continuu,
punctat etc.);
Border Color determin culoarea bordurii;
Border Width grosimea bordurii;
Fore Color culoarea textului afiat de control;
Font Name tipul fontului aferent textului din control;
Font Size dimensiunea fontului;
Picture specific numele i calea fiierului grafic ce va fi afiat n interiorul controlului
(numai pentru butoane i controale de tip imagine);
Text Align stabilete modul de aliniere a textului n interiorul controlului.


2. Proprieti din categoria Data:

Control Source conine sursa de date a controlului i poate fi:

Numele unui cmp (pentru controale legate);
O expresie de calcul precedat de semnul "=" (pentru casete text nelegate).

Exemplu: o caset text ce va afia valoarea unui material contractat, pe baza preului i a
cantitii contractate, va conine n proprietatea control source expresia:
=[Cantitate]*[Pre] unde [Cantitate] i [Pre] sunt denumirile a dou
cmpuri (sau controale) din formular;

Input Mask indic formatul folosit la introducerea datelor (numai pentru casete text)
4. Formulare
Nchil Ctlin laborator Access 120

Default value specific valoarea implicit (valoarea prin lips) a controlului.

Exemplu: pentru o caset text destinat actualizrii unui cmp de tip Date/Time,
aceast proprietate poate conine funcia Date(), care returneaz data sistemului: =Date()

Validation Rule conine regula dup care se face validarea datelor introduse n control. La
execuia formularului, mai nti se verific regula de validare a controlului i apoi cea a
cmpului ataat. Proprietatea validation rule poate fi folosit pentru definirea unor restricii
asupra cmpurilor din tabele diferite;
Validation Text specific mesajul ce va fi afiat, atunci cnd regula de validare este
nclcat;
Enabled activeaz sau dezactiveaz controlul. Un control dezactivat va fi inaccesibil la
execuia formularului;
Locked servete la protejarea datelor afiate de control (controlul va deveni read-only).

3. Proprieti din categoria Event: conin denumirile funciilor, procedurilor eveniment sau
macro-urilor, ce vor fi executate la declanarea evenimentelor ataate.

Cele mai uzuale evenimente sunt:

Eveniment
Poate fi
abandonat?
Proprietatea
eveniment
Descriere
BeforeUpdate Da BeforeUpdate
Apare naintea salvrii datelor din control i
cmpul ataat acestuia. Evenimentul poate fi
folosit pentru validarea datelor introduse i
control.
Change Nu On Change
Se declaneaz h momentul i care datele din
control (caset text sau caset combinat) sunt
modificate.
Enter Nu On Enter
Evenimentul este nregistrat n momentul
accesrii controlului n vederea editrii datelor
(naintea activrii sale).
Exit Da On Exit
Declanat, atunci cnd se prsete controlul
curent n vederea accesrii altui control din
formular. Acest eveniment nu apare n cazul i
care controlul este n curs de editare i se
activeaz o alt fereastr.
4. Formulare
Nchil Ctlin laborator Access 121
Got Focus Nu On Got Focus
Apare i momentul focalizrii controlului.
Difer de evenimentul On Enter prin aceea c
se declaneaz chiar i atunci utilizatorul
comut ntre o alt fereastr i formularul
curent.
Lost Focus Nu On Lost Focus
Evenimentul este nregistrat la defocalizarea
controlului (fie prin trecerea la alt control din
cadrul formularului, fie prin activarea altei
ferestre).

Ordinea n care sunt declanate evenimentele la activarea/dezactivarea unui control este
urmtoarea:
Enter > GotFocus > Exit > LostFocus


4. Proprieti din categoria Other:

Name conine numele controlului. La creare, fiecare control primete un nume unic, format
din tipul su plus un numr de ordine (ex.: TextBox5). Utilizatorul poate modifica acest
nume, schimbndu-1 cu unul mai sugestiv. Controalele legate, generate automat de Wizards,
au numele identice cu denumirile cmpurilor ataate;
Status Bar Text specific mesajul afiat n bara de stare, n momentul selectrii controlului;
Tab Stop dac este setat pe valoarea Yes, atunci controlul poate fi accesat cu ajutorul tastei
Tab;
Tab Index specific numrul de ordine al controlului, n funcie de care acesta va fi accesat
cu ajutorul tastei Tab. Toate controalele editabile vor primi un numr de ordine unic, la
creare. Acest numr poate fi modificat fie prin aceast proprietate, fie prin opiunea
View-TabOrder din meniul Access;
Control Tip Text conine mesajul afiat ntr-o fereastr ToolTip.

Pentru crearea unor controale complexe (casete combinate, casete de tip list etc.),
proiectantul poate fi asistat de programele control wizards.

4. Formulare
Nchil Ctlin laborator Access 122

Aplicaia 4.2: Fie baza de date de la aplicaia 4.1:









Fig. 4.8. Tabelele bazei de date

S se creeze un formular utiliznd Design View pentru tabelul imobile care s arate ca n
figura 4.12.
4. Formulare
Nchil Ctlin laborator Access 123

Fig. 4.12. Formularul (Form View)


Fig. 4.13. Formularul (Design View)
4. Formulare
Nchil Ctlin laborator Access 124

Se dorete ca la adugarea imobilului, proprietarul i agentul (numerele acestora) s se fac
prin selectarea acestora din liste ce conin toi proprietari, respectiv toi agenii.
Pentru cmpurile ce ndeplinesc rolul de cheie extern, este recomandat ca n formulare s
se creeze controale de tip combo box sau list box, deoarece, datorit referinei de integritate, cheile
externe nu admit dect valori comune cu cheile primare pe care le refer (sau valoarea nuli).
Pentru combo box-un proprietatea Limit To List trebuie setat pe valoarea Yes (nu se admit
valori care nu exist n list).
Pentru crearea unei casete combinate, prin intermediul Control Wizards, se parcurg
urmtoarele etape:
1. se activeaz butonul Control Wizards din fereastra toolbox (dac nu este deja activat);
2. n aceeai fereastr, se selecteaz butonul combo box;
3. se plaseaz mouse-ul n zona dorit pe formular i se execut click;
4. n fereastra Combo Box Wizard (figura 4.14.), se selecteaz prima variant.


Fig. 4.14. Tipuri de casete combinate

Cele trei opiuni afiate au urmtoarele semnificaii:
Lista va conine valorile unui cmp dintr-o tabel sau interogare. Controlul este utilizat de
regul, pentru actualizarea cheilor externe.
Caseta combinat conine valori definite de utilizator. Acest tip este utilizat pentru cmpuri ce
prezint un numr relativ redus de valori standard (unitate de msur, valuta etc.).
Selectarea unei valori din list determin saltul la nregistrarea aferent n sursa de date a
formularului. Acest control este folosit n scopul facilitrii operaiilor de regsire a
nregistrrilor dintr-un formular.
4. Formulare
Nchil Ctlin laborator Access 125

5. Se specific tabela sau interogarea ce va furniza date listei de valori a controlului (tabelele
proprietari n cazul primului combo box respectiv agenti n cazul celui de al doilea combo
box)
6. Se aleg cmpurile tabelei ce vor fi afiate n lista de valori.
7. Se ajusteaz dimensiunea fiecrei coloane din lista de valori (prima coloana este implicit
ascuns).
8. Se alege cmpul din sursa de date a formularului ce va fi actualizat cu valoarea selectat din
list (cmpul ataat controlului).
9. Se specific eticheta ataat controlului caset combinat.
Dac, din diferite motive, Wizard Controls nu funcioneaz (de exemplu, nu este setat
aceast opiune le instalarea programului Access), proiectantul va fi nevoit s seteze singur
proprietile controlului combo box:
Column Widths specific dimensiunea fiecrei coloane din list (valorile sunt separate de
caracterul ";")
List Width conine limea total a listei derulante
Row Source Type specific tipul sursei de date pentru valorile din list (tabel sau
interogare, valori definite de utilizator, realizrile unui cmp)
Row Source conine denumirea tabelei, a interogrii (sunt admise i fraze SQL Select) sau
valorile predefinte de utilizator (separate de caracterul ";")
Bound Column va conine numrul de ordine al coloanei care va actualiza cmpul ataat
controlului (coloana respectiv poate fi ascuns)
Limit To List permite sau nu utilizatorului s introduc valori ce nu exist n lista
controlului. Setarea acestei proprieti pe Yes va conduce la declanarea evenimentului On
Not in List ori de cte ori se introduce o valoare inexistent n list.
Cele trei butoane se creaz tot prin intermediul Control Wizards (figura 4.15.), de unde se
alege pentru fiecare n parte aciunile corespunztoare.
Fig. 4.15. Button Wizard
4. Formulare
Nchil Ctlin laborator Access 126


4.4. Subformulare

Rolul subformularelor este de a actualiza mai multe tabele prin intermediul unei singure
ferestre (formular). Subformularele sunt create n general pentru anumite tabele dependente (tabele
n care cmpul comun este cheie extern), din cadrul unei relaii de tip 1n.
Definirea unui subformular presupune nglobarea (includerea) unui formular n cadrul altui
formular, primul devenind subformular, iar al doilea formular principal.

Avantajele oferite de utilizarea subformularelor constau n:
Posibilitatea actualizrii mai multor tabele printr-un singur formular.
Sincronizarea subformularului cu formularul principal, operaie care const n:
actualizarea automat a cmpului cheie extern din subformular, cu valoarea deinut de
cmpul cheie primar din formularul principal;
filtrarea automat a nregistrrilor din subformular, n funcie de valoarea cheii
primare din formularul principal.

Pentru definirea unui subformular n modul Design se procedeaz astfel:
se deschide n modul Design, formularul ce se dorete a fi formular principal;
se activeaz fereastra bazei de date;
folosind tehnica drag&drop, se aduce depune formularul, ce se dorete a fi subformular,
n interiorul formularului principal;
se salveaz formularul principal.
Tot pentru definirea unui subformular se poate utiliza i controlul subform cadrul
formularului principal.

Modificare fcut ulterior asupra subformularului, ca obiect de tip formular, se va reflecta
automat i n formularul principal.
Sincronizarea formularsubformular se realizeaz prin intermediul cmpurilor de legtur
cheia primar din sursa de date aferent formularului principal i cheia extern din sursa de date
aferent subformularului.
Denumirile acestor cmpuri sunt nscrise automat de Access n proprietile Link Master
Field i Link Child Field ale controlului de tip subform din formularul principal.
Completarea acestor proprieti este realizat automat de Access, atunci cnd ntre cele dou
surse de date sunt definite relaii sau cnd acestea conin dou cmpuri cu aceeai denumire. Se
recomand totui verificarea acestor proprieti chiar i n cazul completrii lor de ctre Access.
4. Formulare
Nchil Ctlin laborator Access 127

Aplicaia 4.3: Fie baza de date de la aplicaia 4.1. S se creeze un formular cu subformular
n modul Form Wizard pentru tabelele ageni i imobil(figura 4.16.)


Fig. 4.16.

1. se acioneaz butonul New din fereastra bazei de date pentru activarea asistentului New Form;
2. se opteaz pentru varianta Form Wizard;
3. se selecteaz cmpurile din tabela ageni sau apoi din tabela imobil;
4. pentru tabelul ageni se selecteaz opiunea form with subform(s);
5. se alege un model de prezentare pentru subformular;
6. se stabilete imaginea de fundal pentru formular (Stone, Standard etc.);
7. se stabilete denumirea formularului i a subformularului.

Aplicaia 4.4: Fie baza de date de la aplicaia 4.1. S se creeze un formular cu subformular
n modul Design View pentru tabelele proprietari i imobil (figura 4.17.)

1. se acioneaz butonul New din fereastra bazei de date pentru activarea asistentului New Form;
2. se opteaz pentru varianta Design View;
3. se selecteaz tabela proprietari n rubrica derulant solicitat; prin click pe butonul Ok,
4. se aduc pe form toate cmpurile tabelei proprietari;
5. verificm dac este activ Control Wizards din Toolbox;
6. din Toolbox (View > Toolbox dac nu este activ) selectm controlul Subform/Subreport;
4. Formulare
Nchil Ctlin laborator Access 128

7. desenm dreptunghiul pe form;
8. din fereastra nou deschis alegem Use existing Tables and Queries;
9. din tabelul imobil alegem toate cmpurile sale;
10. din fereastra nou deschis alegem Choose from a list;
11. se stabilete denumirea subformularului.


Fig. 4.17.


Aplicaia 4.5: Se cere obinerea unui formular care s afieze (pe coloane) preurile
solicitate i preurile de vnzare ale imobilelor din tabela imobile. n finalul formularului se cere
obinerea sumelor preurilor solicitate, respectiv a preurilor de vnzare (figura 4.18.)
Prin modul n care este solicitat imaginea formularului (date dispuse pe diverse coloane),
proiectantul va fi orientat spre a opta pentru modul Tabular de execuie. Sistemul Tabular nu este
recomandat, n principiu, pentru c, n cazul multor coloane, afiarea datelor este imposibila pe un
ecran. Dar, n cazul exerciiului propus, existnd numai trei coloane, modul Tabular devine
convenabil.
4. Formulare
Nchil Ctlin laborator Access 129


Fig. 4.18.

Operaiile de efectuat sunt urmtoarele:
n fereastra New Form va fi accesat opiunea "Autoform: Tabular" i va fi selectat tabela
imobile (ca surs de date).
ca urmare, sistemul va afia formularul final, coninnd coloane care cuprind toate cmpurile
(toi indicatorii) din tabela-surs. Se va putea remarca faptul c, din cauza lipsei unui spaiu
disponibil pe limea ecranului, datele sunt trunchiate, cele numerice (de lungime mai mare)
sunt afiate n form exponenial etc.
trecem n modul Design;
se terg toate cmpurile inutile, cu excepia cmpurilor solicitate prin exerciiu;
se redimensioneaz coloanele respectiv titlurile acestora;
4. Formulare
Nchil Ctlin laborator Access 130

se genereaz un spaiu necesar pentru seciunea Form Footer (prin tragerea mouse-ului pe
limita inferioar a titlului acestei seciuni).
se copiaz textbox-ul pret_solicitat n se partea Form Footer;
se copiaz textbox-ul pret_vnzare n se partea Form Footer;
completm cele dou textbox-uri cu:
= sum ([pret_solicitat])
= sum ([pret_vnzare])
se acceseaz pictograma Label din Toolbox;
se fixeaz (prin clic cu mouse-ul) locul de debut al etichetei n seciunea Form Footer;
se scrie textul dorit (de exemplu: Total Preturi).


5. Rapoarte
Nchil Ctlin laborator Access 131
5. Microsoft Access Rapoarte (Reports)

5.1. Generaliti

Tratnd teoretic diferenele dintre formulare i rapoarte, se poate afirma c ambele au acelai
coninut i pot servi acelorai obiective de informare.
Practic, formularele sunt destinate proceselor interactive, ntrebare rspuns, ntre utilizator
i afirile pe ecran ale sistemului, iar rapoartele sunt, n principal, destinate informrilor scrise (la
imprimant).
Cu Microsoft Access se pot realiza obiecte de tip raport utiliznd opiunea Reports din
meniul Objects i butonul de comand New sau alegnd comanda Report din meniul Insert.
Modalitile de creare propuse de Microsoft Access (figura 5.1.):
Design View: realizarea
rapoartelor de ctre utilizator, n
funcie de viziunea proprie a
acestuia (utilizatorul precizeaz
controalele din raport);
Report Wizard: crearea rapoartelor
este asistat de Wizard;
AutoReport: Columnar: generarea
automat a rapoartelor, cu
particularitatea c datele dintr-o
nregistrare sunt prezentate pe o
singur coloan;
AutoReport: Tabular: generarea
automat a rapoartelor cu datele
organizate sub forma tabelar;
Chart Wizard: crearea de rapoarte cu grafice;
Label Wizard: dup cum indic i numele opiunii de lucru, se creeaz, asistat de Wizard,
rapoarte de dimensiunile cerute pentru imprimarea lor pe o etichet (utile n coresponden,ori
n etichetarea produselor comercializate etc.).
Se poate observa faptul c n partea stng a ferestrei New Report, dup selectarea unei
posibiliti de lucru, apar explicaii referitoare la opiunea selectat. De asemenea, din lista
derulant cu eticheta Choose the table or query where the object's data comes from: se poate alege
o tabel ori o interogare constituind sursa de date a raportului.
n structura unui raport se pot identifica elemente comune cu formularele, tratate n capitolul
4, cum ar fi:
seciunile unui raport: Report Header/Footer, Page Header/Footer, Detail, etc.;
controale de tip casete text, etichete, butoane de comand, etc. i proprietile acestora (cu
excepia celor eveniment (Event), care nu sunt accesibile controalelor din rapoarte).



Fig. 5.1.
5. Rapoarte
Nchil Ctlin laborator Access 132

Baza de date care va fi utilizat n cadrul acestui capitol are tabelele din figura 5.2. i
interogarea din figura 5.3..










Fig. 5.2.

5. Rapoarte
Nchil Ctlin laborator Access 133


Fig. 5.3.

5.2. Generarea rapoartelor cu instrumentul Wizard

Etapele definirii asistate a structurii unui raport sunt urmtoarele:
1. Selectarea din fereastra Database, lista Objects, butonul Reports, apoi New, dup care,
alegerea variantei Report Wizard din fereastra New Report (figura 5.1.)
2. Alegerea, din lista derulant Choose the table or query where the object's data comes from:,
a numelui tabelei, ori interogrii, stabilite drept surs de date a raportului (n exemplul de
mai jos, interogarea operaii) i activarea butonului OK.
3. n prima fereastr propus de Wizard (figura 5.4.) se pot alege cmpurile ce vor alctui
structura raportului, cu ajutorul butoanelor >, >>, <, << sau cu dublu clic pe numele cmpului.
Aceste cmpuri pot fi selectate din mai multe tabele ori interogri (dac la pasul 2 nu s-a
stabilit deja o surs de date a raportului) utiliznd lista derulant Tables/Queries.
Lista simpl Avalable Fields conine toate cmpurile create n interogarea operaii, aleas
drept surs de date, iar cea intitulat Selected Fields afieaz cmpurile selectate, dintre cele
disponibile, pentru a defini structura raportului.
Se avanseaz la etapa urmtoare cu ajutorul butonului Next.
4. Precizarea modului de aezare a datelor n raport se face cu fereastra din figura 5.5.. Se
precizeaz criteriile de grupare a datelor n raport. Gruparea datelor nseamn cutarea tuturor
nregistrrilor (rndurilor) din sursa de date care conin aceeai valoare pentru cmpul stabilit
drept criteriu de grupare i afiarea lor, consecutiv, n raport (figura 5.6.).
5. Rapoarte
Nchil Ctlin laborator Access 134



Fig. 5.4.




Fig. 5.5.

5. Rapoarte
Nchil Ctlin laborator Access 135
n exemplul prezentat, datele vor fi grupate dup numele agentului, tip_imobil, iar n cadrul
acestuia, dup dat. Selectarea/deselectarea unui criteriu de grupare se realizeaz cu dublu clic pe
acesta sau cu clic pe cmpul ales drept criteriu i apoi activarea butoanelor >, <.
ntr-o prim faz, Wizard propune automat un criteriu, avansndu-1 n lista din dreapta
ferestrei din figura 5.6. i colorndu-l, de regul, albastru. Dac aceast soluie nu se afl printre
cele dorite de utilizator, cu dublu clic, sau cu clic pe cmpul respectiv i cu butonul <, se poate
renuna la acel criteriu. Cu sgeile Priority se stabilete ordinea operaiunilor de grupare. Pentru
precizarea faptului c gruparea se face dup luna din fiecare data de stocare, s-a deschis fereastra
Grouping Intervals, n care, dup cum se observ, n coloana Grouping intervals: pe linia
data_stocarii s-a precizat Month.
Dac s-ar fi stabilit drept criteriu de grupare un cmp de tip text, atunci n coloana Grouping
intervals, am fi putut preciza afiarea n raport a valorii cmpului n ntregime, sau numai a primei
litere, sau numai a primelor dou litere, pn la primele cinci litere din valoarea stocat n cmp.
Dac criteriul ar fi fost un cmp numeric, atunci Wizard propune afiarea unor intervale de mrime
10, 50, 100, 500, 1000, 5000 i 10000.



Fig. 5.6.
5. Rapoarte
Nchil Ctlin laborator Access 136

5. n fereastra din figura 5.7. se stabilesc cmpurile n funcie de valorile crora datele din
raport vor fi ordonate (sortate), precum i cele pentru care se vor executa operaii de sintez
(cu butonul Summary Options) cum sunt cele prezentate n figura 5.8. (nsumare, medie
aritmetic, valorile minime i maxime din domeniul cmpului precizat).



Fig. 5.7.



Fig. 5.8.
5. Rapoarte
Nchil Ctlin laborator Access 137

6. n etapa urmtoare, instrumentul Wizard propune mai multe feluri de prezentare a datelor n
raport (figura 5.9.), precum i dispunerea (Orientation) vertical ori orizontal a structurii
raportului pe coala de imprimare.

Fig. 5.9.
n aceast etap, instrumentul Wizard propune mai multe feluri de prezentare a datelor n
raport (figura 5.9.), precum i dispunerea (Orientation) vertical ori orizontal a structurii raportului
pe coala de imprimare.
7. Urmtorul pas const n alegerea stilului n care este afiat fiecare categorie de informaie.
8. Ultima etap presupune stabilirea titlului raportului, ca n figura 5.10. Dac utilizatorul
dorete s fac unele mici modificri privind structura raportului astfel creat, nainte de a
activa butonul Finish, se selecteaz opiunea Modify the report 's design.


Fig. 5.10.
5. Rapoarte
Nchil Ctlin laborator Access 138

Pentru afiarea unor informaii de ajutor n timpul lucrului cu raportul, se bifeaz caseta de
validare Display Help on working with the report?. Dup activarea butonului Finish, raportul se
salveaz sub numele dat de titlul ales mai devreme.
Vizualizarea situaiilor pe ecran se poate face n modul Preview (utilizarea, rularea
raportului), ori n mod Design (proiectare, definire a structurii sale), ncadrarea n marginile paginii
imprimate poate fi verificat cu Layout Preview
Toate aceste trei posibiliti se regsesc i n meniul View al Microsoft Access.
Tiprirea la imprimant se realizeaz cu meniul File, opiunea Print. Dac obiectul de tip
raport este nchis, acesta se selecteaz n fereastra Database, apoi se alege Print din meniul File.
Dup cum se poate remarca, o serie de aspecte ale raportului mai pot fi mbuntite. Pentru
aceasta, se va deschide raportul n mod Design, pentru ca utilizatorul s poat opera schimbri n
structura acestuia.

5.3. Generarea rapoartelor folosind opiunea Design View

Etapele definirii asistate a structurii unui raport sunt urmtoarele:
1. Selectarea din fereastra Database, lista Objects, butonul Reports, apoi New, dup care
alegerea variantei Design View din fereastra New Report.
2. Alegerea, din lista derulant Choose the table or query where the object's data comes from:
(figura 5.1.) a numelui tabelei, ori interogrii, stabilite drept surs de date a raportului (n
exemplul dat, interogarea operaii) i activarea butonului OK.
Dac, din greeal nu s-a selectat nimic drept surs de date a raportului, atunci se poate
utiliza fereastra de proprieti ale acestuia. Se deschide cu clic dreapta pe bara de titlu a ferestrei de
definire a raportului, ori pe suprafaa gri a acesteia, ori pe cele dou rigle (orizontal i vertical, n
afara poriunilor care permit selecii ale elementelor din raport), ori pe butonul general al raportului,
din colul din stnga sus al ferestrei de definire, ori din meniul View, opiunea Properties. n
fereastra de proprieti ale raportului (figura 5.11.), se alege tab-ul Data, iar din lista derulant cu
eticheta Record Source, se selecteaz interogarea operaii.



Fig. 5.11.
5. Rapoarte
Nchil Ctlin laborator Access 139

3. n momentul deschiderii, fereastra de definire a raportului prezint doar trei seciuni
(asemntoare celor din formulare): Page Header/Footer i Detail. Pentru crearea unui titlu al
raportului (antet) i pentru definirea sfritului de raport (de regul, linii de total general), se
utilizeaz meniul View, opiunea Page Header/Footer, sau aceeai opiune din meniul
contextual (click buton dreapta mouse pe suprafaa alb de lucru) al raportului. Dac una
dintre seciuni se consider inutil, atunci se reduce la zero lrgimea acesteia.
Alturat se observ renunarea la seciunea Page Footer, cu ajutorul mouse-ului, care are
cursorul sub forma unei sgei bidirecionale n cruce. Linia neagr orizontal indic distana de la
Report Footer cu care s-a micorat seciunea Page Footer.
4. Gruparea datelor i/sau sortarea lor se realizeaz fie cu meniul View, opiunea Sorting and
Grouping fie cu aceeai opiune din meniul contextual. Se lucreaz cu fereastra Sorting and
Grouping (figura 5.12.).


Fig. 5.12.

Pentru expresiile sau cmpurile din sursa de date stabilite drept criterii de grupare (i,
eventual, sortare) se selecteaz Yes n rubricile corespunztoare antetului Group Header) i/sau
subsolului de grup Group Footer, din lista de proprieti ale fiecrui grup de date Group Properties.
n rubrica Sort Order se precizeaz dac sortarea datelor se va face n ordinea cresctoare
(Ascending) sau descresctoare (Descending) a valorilor criteriului de grupare (sortare).
Proprietile unui criteriu de grupare/sortare sunt accesibile numai dup poziionarea cursorului
mouse-ului pe denumirea cmpului n cauz.
n aceast rubric, s-a optat pentru extragerea lunii din data stocrii materialelor i
constituirea ei drept al treilea criteriu de grupare si de sortare n ordine invers cronologic
(Descending). Dac se dorete numai sortare n funcie de valorile unui anumit cmp, nu i grupare,
atunci n rubricile Group Header, Group Footer se las valoarea No.

5. n seciunea Detail se aduc cmpurile care se vor afia n raport pentru a caracteriza fiecare
intrare de material. Lista de cmpuri, dac n-a fost afiat automat, se poate vizualiza activnd
fie meniul View, opiunea Field List. Expresiile de calcul se definesc cu ajutorul unor casete
text, n care se vor scrie formulele, precedate de semnul = .
5. Rapoarte
Nchil Ctlin laborator Access 140
Se poate observa c pentru a extrage luna din cadrul datei de stocare a unui material i a o
afia scriindu-i denumirea cu caractere alfabetice, urmat de an, s-a scris formula
<<=Format$([Data stocrii],"mmmm yyyy",0,0)>>
Pentru definirea afiarea numrului curent al fiecrui material (obinut prin incrementare),
s-a creat o caset text cu proprietile din figura 5.13.


Fig. 5.13.

n caseta Control Source se trece =1, iar pentru ca numrtoarea s se desfoare unitar
pentru toate materialele intrate n stoc, indiferent de depozit ori lun, se alege Over All ("peste tot")
n caseta Running Sum. Pentru calculul valorii s-a scris ntr-o caset text formula:
=[cantitate_stocata]*[Pret-unitar]
iar pentru a nsuma cantiti i valori i a afia subtotaluri pe lun, pe material i pe depozit
(numai valoric) n Group Footer-urile corespunztoare, s-a utilizat funcia Sum() (ca i n
proiectarea formularelor), aplicat cantitii i expresiei valorii. La fel se procedeaz pentru a
calcula i afia, la final de raport (Report Footer), un total general valoric, precedat de eticheta
Total general intrri..



Fig. 5.14.
5. Rapoarte
Nchil Ctlin laborator Access 141
6. Pentru evidenierea anumitor date (afiare cu caractere i chiar culori diferite a informaiilor n
raport, n funcie de ndeplinirea unor condiii) se utilizeaz opiunea Conditional Formating
din meniul Format al Microsoft Access. Aceasta este disponibil numai dup selectarea unui
control legat la o surs de date (o caseta text (Text Box), de regul). n exemplul dat, se vor
afia diferit rndurile de total pe lun cu valori ntre 500 i 800 i ntre 200 i 600 de lei. Se
selecteaz caseta text de subtotal pe lun:
=[cantitate_stocata]*[Pret-unitar]
apoi se alege opiunea Conditional Formating din meniul Format i se stabilesc cele dou
condiii (utiliznd butonul Add pentru adugarea celei de-a doua condiii de formatare). Fereastra
Conditional Formating este prezentat n figura 5.14.
Pentru renunarea la o condiie se activeaz butonul Delete. Se pot stabili maxim trei condiii
(dup cea de-a treia, butonul Add devine inactiv).

5.4. Crearea de rapoarte cu subrapoarte

Dac se dorete completarea informaiilor dintr-un obiect de tip raport cu altele, coninute de
diferite obiecte de tip raport, se creeaz aa-numitele subrapoarte. Ele se pot insera att n seciunea
de detaliu, ct i n celelalte seciuni (inclusiv n cele de grup).
Ca i n operaiunea de creare a subformularelor, se utilizeaz butonul Subform/Subreport
din caseta de instrumente (controale) Toolbox, cu sau fr activarea Wizard-ului . De asemenea, se
poate aduce subraportul pe suprafaa de lucru, ntr-una dintre seciunile raportului principal, din
fereastra Database, utiliznd tehnica drag-and-drop.
n cazul n care operaiunea de creare de subraport se desfoar fr Wizard, utilizatorul
trebuie s verifice dac proprietile subraportului: Link Child Fields i Link Master Fields au primit
numele aceluiai cmp, cel care realizeaz legtura dintre raportul principal i subraport.

5.5. Proprieti ale obiectelor de tip raport i ale seciunilor lor

Proprieti ale rapoartelor

Se pot deosebi patru categorii de proprieti ale rapoartelor:
1. Format: n cadrul acesteia:
Caption este utilizat pentru stabilirea unui titlu afiat pe bara albastr de titlu, n modul Print
Preview de vizualizare a raportului;
Page Header i Page Footer sunt utilizate pentru specificarea paginilor pe care se vor afia
antetul, respectiv subsolul de pagin (variante: toate paginile; toate, mai puin prima; toate,
mai puin ultima; toate, mai puin prima i ultima);
Picture permite specificarea fiierului afiat pe fundalul raportului;
Picture Pages precizeaz paginile pe care se va afia fundalul ales.
5. Rapoarte
Nchil Ctlin laborator Access 142

2. Data:
Record Source precizeaz o tabel, o interogare, ori o fraz SQL care va fi sursa de date a
raportului;
Filter se folosete pentru stabilirea unei condiii-filtru pe care trebuie s-o ndeplineasc datele
ce vor fi afiate n raport;
Filter on permite selectarea a dou valori:
Yes, ceea ce presupune c criteriul specificat n Filter devine activ (se aplic datelor) i No,
care anuleaz aciunea filtrului;
Order By, care precizeaz criterii de sortare, n ordinea gradului de generalitate, cu virgul
ntre ele;
Order By On poate cuprinde valorile Yes sau No, activnd sau dezactivnd proprietatea Order
By.
De exemplu, ntr-un raport se vor afia numai cei din localitatea indicat de valoarea
parametrului oras (figura 5.15.).



Fig. 5.15.

3. Event proprieti de tip eveniment:
On Open servete, n principal, la definirea de filtre;
On Close poate realiza tergerea fiierelor temporare create n timpul execuiei raportului. n
general, acestora le sunt ataate funcii ori proceduri.

4. Other alte proprieti.
Record Looks asigur blocarea informaiilor dintr-un raport n timpul afirii acestuia;
Date Grouping permite utilizarea tipului implicit de dat sau a tipului setat de utilizator;
Fast Laser Printing, cu valoarea Yes, realizeaz o tiprire rapid a unui raport, etc.
Toate categoriile de proprieti se regsesc n rubrica (tab-ul) AU.
5. Rapoarte
Nchil Ctlin laborator Access 143


Proprieti ale seciunilor rapoartelor

Acestea nu sunt foarte numeroase. Categoria Data lipsete. Ele servesc la:
atribuirea unui nume fiecrei seciuni (Name),
la efectuarea saltului la pagin nou (Force New Page),
la ascunderea/afiarea anumitor date (Visible - Yes/No),
la pregtirea seciunilor pentru afiare (On Format ori On Print),
la reformatarea seciunilor (On Retreat),
etc.

S-ar putea să vă placă și