Sunteți pe pagina 1din 40

Access 2007 – Modul A – Pagina 1

MICROSOFT ACCESS 2007


1. CONCEPTE GENERALE PRIVIND BAZELE DE DATE
Evoluţia diferitelor metode şi tehnici de organizare a datelor pe suporturi de memorie
externă a fost determinată de necesitatea de a avea un acces cât mai rapid şi mai uşor la un
volum cât mai mare de date. Datele stocate şi prelucrate sunt foarte complexe, cu foarte
multe interdependenţe, lucru care a făcut necesară apariţia bazelor de date.
O bază de date reprezintă un ansamblu de date, organizate coerent, structurate cu o
redundanţă minimă, accesibile cât mai multor utilizatori în acelaşi timp. Deci o bază de
date este un ansamblu de colecţii de date, cunoscute sub numele de tabele (pentru bazele
de date relaţionale) şi obiecte (pentru bazele de date orientate pe obiecte).
Lumea reală conţine diferite obiecte care, la nivelul pe care le vom numi entităţi, care
au anumite caracteristici (proprietăţi) pe care le vom numi atribute, acestea putând lua
anumite valori. În acest context, informaţia se poate defini ca fiind formată din:
 Entitate – obiectul informaţiei
 Atribut – proprietăţile entităţii
 Valoare – măsura proprietăţii
De exemplu, entitatea angajat este formată din atributele: nume, vârstă, ani vechime,
care au diferite valori.
Toate aceste date sunt organizate în tabele. O bază de date e formată din mai multe
tabele, cu diferite legături între ele.

1.1. Noţiunea de SGBD


Sistemele de Gestiune a Bazelor de Date (SGBD) reprezintă sisteme informatice
specializate în stocarea şi prelucrarea unui volum mare de date (din această categorie face
parte şi Microsoft Access 2007, parte a pachetului Microsoft Office 2007).
Termenul de gestiune se referă la modalităţile de memorare şi prelucrare a acestor date
iar termenul de Bază de Date se referă la datele de prelucrat şi la modul de organizare a
lor pe suport fizic.
Funcţiile unui SGBD sunt următoarele:
A. Descrierea bazei de date, care asigură:
 definirea tabelelor din baza de date;
 definirea relaţiilor care există între tabele;
 definirea condiţiilor de acces la informaţii;
B. Manipularea datelor:
 adăugarea de date la un tabel din baza de date;
 modificarea unor date dintr-un tabel din baza de date;
 ştergerea unor date dintr-un tabel;
 căutarea datelor;
 ordonarea (sortarea) datelor;
C. Interogarea bazei de date:
 vizualizarea totală sau parţială a datelor, în funcţie de satisfacerea uneia sau
mai multor condiţii;
Access 2007 – Modul A – Pagina 2

 generarea de rapoarte, forme, etichete etc.


Pentru utilizatorii neprofesionişti au fost create interfeţe care să asigure lucrul cu
ferestre, meniuri, obiecte de control, precum şi subpachete de programe speciale pentru
generarea de rapoarte, formulare, interogări etc.

2. ORGANIZAREA UNEI BAZE DE DATE ACCESS 2007


O bază de date în Microsoft Access 2007 este un fişier cu extensia .accdb (ACCess
DataBase) care conţine datele din bază, descrierea lor, şi obiecte pentru manipularea
acestora.
Un fişier bază de date poate conţine:
 tabele – conţin, de fapt, informaţiile din baza de date;
 interogări – conţin condiţii impuse unor linii din tabele pentru a fi incluse în
rezultat;
 formulare – conţin obiecte de control care permit introducerea şi modificarea
datelor din tabelele din baza de date;
 rapoarte – sunt obiecte ale bazei de date care permit obţinerea unei liste, mai
mult sau mai puţin complexe, care conţin liniile şi coloanele din tabelele bazei de
date;
 macro-uri şi module Visual Basic.1

3. PRIMII PAŞI ÎN LUCRUL CU BAZELE DE DATE


3.1. Deschiderea şi închiderea aplicaţiei Microsoft Access 2007
3.1.1. Deschiderea aplicaţiei
Se poate face cu:
 Start  All Programs  Microsoft Office  Microsoft
Access 2007;
 clic dublu pe pictograma asociată aplicaţiei Microsoft Access 2007 (pe desktop,
dacă există);
Se va deschide fereastra
aplicaţiei, care conţine:
1. Panoul Categorii de
şabloane (în stânga) din
care putem selecta ce
şablon dorim să folosim
pentru crearea noii baze de
date;
2. Un panou în mijlocul ferestrei, din care putem alege fie crearea unei baze de date
(Bază de date necompletată), fie un şablon dorit pentru noua bază de
date;
3. Panoul Deschidere bază de date recentă (în dreapta), în care putem
1
Visual Basic este limbajul de programare folosit de Microsoft Access pentru proiectarea aplicaţiilor
complexe.
Access 2007 – Modul A – Pagina 3

alege baza de date pe care dorim să o deschidem.


3.1.2. Închiderea aplicaţiei

Clic pe butonul de închidere al ferestrei2 sau butonul Office  Ieşire din


Access.

3.2. Crearea unei baze de date


Pot exista două situaţii:
1. Creare imediat după intrarea în Microsoft Access 2007:
a. Butonul Bază de date necompletată
b. La Nume fişier, în panoul din dreapta, specificăm discul,
calea şi numele bazei de date (eventual, folosim butonul
alăturat pentru a alege discul şi folderul în care vom salva baza).
c. Butonul Creare.
2. Creare ulterioară:

1. Butonul Office  Nou.


2. Se procedează ca mai sus.
Dacă intenţionăm să folosim baza de date într-un format compatibil cu versiunile
anterioare ale Microsoft Access, vom salva fişierul bază de date în format .mdb.3

3.3. Închiderea unei baze de date


Butonul Office  Închidere bază de date sau cu închiderea ferestrei bazei
de date sau la ieşirea din Access 2007.

3.4. Deschiderea unei baze de date Access 2007


Există mai multe variante:
1. Dacă e deschisă fereastra iniţială Microsoft Access 2007 şi în panoul din dreapta
(Deschidere bază de date recentă) apare numele bazei de date
respective, se dă clic pe numele bazei.
2. Dacă baza de date nu e afişată, clic în panoul Deschidere bază de date
recentă  legătura Mai multe  în dialogul afişat alegem discul şi folderul
în care se află baza de date, apoi baza de date în sine.
3. FileOpen sau clic pe butonul Open sau Ctrl+O (în toate cazurile).
4. Dacă e deschisă fereastra
Windows Explorer şi fişierul
bază de date e afişat, se dă
un clic dublu pe fişier.
2
Spre deosebire de alte aplicaţii (de exemplu Excel sau Word), la închiderea ferestrei nu se va mai cere
confirmare pentru salvare (în afara cazului în care e deschisă o fereastră internă de proiectare a unei tabele,
interogări, a unui formular sau raport).
3
Această variantă nu funcţionează la trimiterea fişierului .mdb prin mail sau printr-o reţea intranet; în
acest caz, el trebuie copiat local folosind alt mediu (CD, DVD, stick etc.).
Access 2007 – Modul A – Pagina 4

5. Dacă am lucrat recent la baza de date, o putem alege direct de la nivel de


Windows de la Start  Recent Items.
6. Dacă avem deschisă fereastra Access 2007 şi baza dorită e printre ultimele 4
accesate, o putem alege direct din partea inferioară a meniului File.
Indiferent de varianta folosită, se va afişa aceeaşi fereastră cu obiectele bazei de date,
clasificate pe tipuri.

4. INTERFAŢA CU UTILIZATORUL
4.1. Funcţia Help
Funcţia de Help se
activează folosind butonul
Ajutor Excel, ,
afişat în colţul din dreapta-
sus al ferestrei de
document sau tasta F1.
Se va afişa o fereastră în
care, în zona de editare test
de lângă butonul
Căutare, vom tasta
cuvântul sau cuvintele-cheie pe care le căutăm, apoi vom folosi tasta Enter sau butonul
Căutare.
Sistemul va afişa o listă cu legături spre toate capitolele de Help care conţin textul
căutat.
Fereastra Ajutor Excel e o fereastră distinctă şi, de aceea, o putem minimiza sau,
dacă nu mai avem nevoie de ea, o vom închide ca pe orice fereastră.
Textul din fereastra de Ajutor Excel poate fi copiat în orice altă fereastră.

4.2. Bara de instrumente Acces Rapid


Iniţial, bara Acces Rapid , prin intermediul căreia putem
avea executa rapid anumite operaţii este afişată sub filele afişate de meniu şi conţine doar
câteva butoane (Salvare, Anulare etc.) dar îi putem adăuga şi altele, astfel încât să
avem acces rapid la operaţiile respective.
Pentru aceasta:
1. Clic dreapta pe unul
din butoanele din bara
Acces Rapid, apoi
Particularizare
bară de
instrumente
Acces Rapid.
2. În lista ascunsă
Access 2007 – Modul A – Pagina 5

Afişare comenzi de la alegem categoria în care se află comanda dorită


(comenzile dintr-un anumit meniu, comenzile care nu apar în barele de
instrumente, toate comenzile etc.)
3. Căutăm comanda în lista din stânga, o selectăm şi folosim butonul Adăugare
pentru a o adăuga în lista din dreapta.
4. Confirmăm cu OK.
Eliminarea unui buton din bara Acces rapid se face asemănător, dar folosind
opţiunea Eliminare din bara de instrumente Acces Rapid.
Revenirea la configuraţia standard a unei bare de instrumente se face din acelaşi
dialog, folosind varianta Reiniţializare.
OBSERVAŢIE
Unele bare de instrumente se afişează, automat, la deschiderea unei ferestre de
proiectare (pentru tabele, rapoarte, interogări, formulare) şi se închid, tot automat,
la închiderea ferestrei respective.

5. TABELE
Un tabel dintr-o bază de date Microsoft Access 2007 este organizat pe rânduri (numite
înregistrări sau articole) şi coloane (numite câmpuri).
Tabelele pot fi considerate, într-o oarecare măsură, analoage cu foile de calcul dintr-un
registru Excel iar baza de date analoagă cu întregul registru.
Câmpurile, împreună cu tipurile de date stabilite pentru ele, reprezintă structura
tabelului.
Câmp 1 Câmp 2 Câmp 3 ... Câmp n
Structura Nume Prenume Data_n ... Telefon
Articol 1
Articol 2
Spre deosebire de tabelele din Microsoft Word sau Excel, unde puteam introduce orice
valoare în orice celulă, în Microsoft Access 2007 trebuie să specificăm de la început ce fel
de valori vom introduce în fiecare coloană, urmând ca acesta să interzică, ulterior,
introducerea valorilor de alt tip decât cel stabilit.
De exemplu, într-o coloană dintr-un tabel Word sau Excel puteam introduce o dată
calendaristică într-o celulă şi, în celula de dedesubt un text; în Access, odată stabilit tipul
dată calendaristică pentru acea coloană (câmp), nici una din „celulele“ din ea nu vor putea
conţine texte.
Această comportare se concretizează în conceptul de tip de dată.

5.1. Tipuri de date în Microsoft Access 2007


Microsoft Access 2007 acceptă următoarele tipuri de date:
Date Tip de dată Descriere şi proprietăţi
Access 2007 – Modul A – Pagina 6

Text Sunt cele mai folosite, aşa că Microsoft


Access consideră acest tip ca fiind prestabilit.
Un câmp de tip Text poate conţine cel mult
255 de caractere (implicit, 255). Pot exista şi
Alfanumerice texte de lungime 0.
Memo Se foloseşte pentru a adăuga într-un câmp
texte mai lungi de 255 de caractere (maximum
65.535 sau texte care diferă foarte mult, de la o
înregistrare la alta, ca lungime.
Numerice Număr Pentru datele numerice sunt disponibile mai
multe subtipuri de date:
 Octet – valori întregi, 0...255;
 Întreg – valori întregi cuprinse între –
32.768 şi +32.767;
 Întreg lung – valori întregi cuprinse
între –2.147.483.648 şi +2.147.483.647;
 Simplă precizie – valori cu
maximum 7 zecimale, în intervalul
±3.4*1038;
 Dublă precizie – valori cu maximum
15 zecimale, în intervalul ±1.797*10308;
 ID reproducere – Identificator global
unic (16 octeţi);
 Zecimal – valoare numerică cu număr cu
fix de zecimale, în intervalul ±1028...1028.
Monedă Este un tip numeric special, fix, cu precizie de
4 zecimale, conceput pentru a preveni erorile de
rotunjire la operaţiile de contabilitate acolo unde
valoarea trebuie să se potrivească exact cu
calculele făcute (8 octeţi).
Access 2007 – Modul A – Pagina 7

AutoNumerotare Un câmp de tipul AutoNumerotare conţine o


valoare întreagă pe care Microsoft Access 2007 o
completează automat pentru fiecare înregistrare
adăugată la tabel.
Completarea se poate face în două moduri:
 Incremental – creşte cu 1 de la un
articol la următorul;
 Aleator – fiecare articol primeşte o
valoare aleatoare pentru acel câmp.
Indiferent de variantă, Microsoft Access 2007
ne asigură că nu vor exista două articole cu
aceeaşi valoare pentru un câmp de tip
AutoNumerotare4 dar valorile nu pot fi
actualizate.
Atenţie! Nu pot exista două câmpuri de tip
AutoNumerotare în acelaşi tabel, chiar dacă
se folosesc variante distincte pentru ele.
Da/Nu Câmpurile de tip Da/Nu sunt câmpuri
(Yes/No) folosite pentru a exprima cazuri în care nu există
decât două situaţii: DA sau NU, de exemplu:
Adevărat/Fals, Da/Nu, Activat/Dezactivat.
Indiferent de variantă, Microsoft Access 2007
consideră un astfel de câmp drept câmp numeric,
folosind valoarea –1 pentru DA şi 0 pentru NU.
Date Dată/Oră Pentru date calendaristice, în domeniul 1
calendaristice ianuarie 100...31 decembrie 9999.
Obiecte mari Obiect OLE Câmpurile obiect OLE creează imagini bitmap
ale documentului original sau a obiectului
respectiv, apoi afișează acea imagine bitmap în
câmpurile din tabel și în controalele raportului
sau formularului.
Documentul poate fi un desen, un fişier audio,
o foaie de calcul etc.
Câmpurile de acest tip nu pot fi cheie şi nu pot
participa la un index. Obiectele din aceste
câmpuri pot fi înglobate în câmp sau legate de
câmp.
Adrese Hyperlink Este un text sau o combinaţie numere-text,

4
Din păcate, la ştergerea unui articol, valoarea unui astfel de câmp nu se actualizează automat (ea nu
reprezintă numărul de articol decât la introducere). De exemplu, dacă un câmp are, în ordine, valorile 1, 2, 3
pentru primele trei articole şi se şterge articolul cu valoarea 2, valoarea 3 nu va deveni 2 (deşi valoarea 2,
ştearsă, nu se va mai atribui vreodată altui articol).
Access 2007 – Modul A – Pagina 8

Internet stocată ca text şi folosită ca adresă a unei pagini


de Web sau drept cale spre un fişier spre
harddiscul local/un harddisc din intranet-ul local.
Ataşare Ataşare Permite crearea unui câmp în care se
realizează o legătură spre un fişier de pe disc.
Folosind un câmp de acest tip, putem modifica
direct fişierul respectiv.
Informaţii Expert căutare De fapt, nu este un tip adevărat de date.
legate Creează câmpuri care permit utilizatorului să
aleagă o valoare din alte tabele sau dintr-o listă
de valori.

5.2. Crearea unui tabel


Crearea tabelului înseamnă, de fapt, descrierea structurii tabelului, adică specificarea
următoarelor elemente pentru fiecare câmp:
 nume;
 tipul de dată;
 lungime.
Definirea structurii unui tabel se face astfel:
1. Deschidem fereastra bazei de date în
care vom crea tabelul.
2. Meniul Creare  fila Tabele 
butonul Tabel.
3. Dăm clic dublu pe varianta Creare
tabel în modul Vizualizare proiect
(Create table in Design
view5).6 Access 2007 va deschide fereastra pentru descrierea structurii noului
tabel.
4. În această fereastră, vom specifica, obligatoriu, pentru fiecare câmp
următoarele:
 în coloana Nume câmp (Field name) vom introduce numele fiecărui
câmp; acesta este folosit la identificarea ulterioară a câmpului, poate avea
maxim 64 de caractere şi poate conţine şi spaţii;7
 la Tip de date (Data type) vom alege tipul de date pentru câmpul
respectiv.
OBSERVAŢII
1. În cazul tipului Text, Access 2007 ne propune lungimea de 50 de
caractere pentru câmp, valoare care poate fi modificată la Dimensiune
câmp (Field Size).
5
Celelalte variante nu permit specificarea directă a tipurilor de date ale câmpurilor.
6
Se poate folosi şi butonul Nou (New) din bara de instrumente şi, în dialogul afişat, se alege varianta
Vizualizare proiect (Design view).
7
Numele nu poate conţine puncte (.), semnul exclamării, paranteze mari, spaţii iniţiale şi caractere
neimprimabile.
Access 2007 – Modul A – Pagina 9

2. În cazul tipului principal Number, subtipul se alege de la Dimensiune


câmp (Field Size).
Caracteristicile opţionale pentru câmpul curent pot fi specificate în partea
inferioară a ferestrei, în zona Proprietăţi câmpuri (Field
Properties):
 Dimensiune câmp (Field Size) – numărul maxim de poziţii ce pot
fi memorate în acel câmp (pentru valorile posibile pentru fiecare tip de
dată, v. tabelul cu tipurile de date de mai sus);
 Format – formatul de afişare ulterioară a datelor, cum ar fi:8

 Zecimale (Decimal Places) – numărul de poziţii din partea


zecimală (pentru câmpurile numerice);
 Mască intrare (Input Mask) – o machetă prin care putem impune
un anumit format de introducere a datelor în câmp; în acest caz, pentru
fiecare caracter (poziţie) din câmp, la introducere, putem specifica unul
dintre caracterele următoare:
Caracter Efect
# Permite orice cifră, un semn (+/-) şi un spaţiu
L Permite numai litere în poziţia respectivă
? Permite o literă sau nimic
A Numai literă sau cifră
9 Numai cifre
a Orice literă sau cifră sau nimic
& Numai un caracter sau un spaţiu
C Permite orice caracter, un spaţiu sau nimic
< Converteşte toate literele următoare în litere mici
> Converteşte toate literele următoare în litere mari
\ Inserează caracterul următor, ca şi cum ar fi
introdus
! Aliniază valoarea introdusă la dreapta
De exemplu, dacă pentru câmpul Nume folosim masca
>L<??????????????, atunci prima literă din nume va fi convertită la
literă mare, următoarele la litere mici şi nu se vor permite mai mult de 15
caractere în acest câmp; un alt exemplu: pentru câmpul CNP, de tip Text
8
Nu toate tipurile de date admit, aici, variante de format de afişare (de exemplu, tipurile Text şi Memo).
Access 2007 – Modul A – Pagina 10

pe lungime de 13, masca 9999999999999 va permite doar introducerea


de cifre în poziţiile respective; alt exemplu: pentru câmpul Buletin, masca
>LL999999 va permite doar litere pe primele două poziţii şi cifre pe
următoarele şase;
 Legendă (Caption) – permite specificarea unui nume atribuit câmpului
când acesta este folosit într-un raport sau un formular;9
 Valoare implicită (Default Value) – valoarea care se atribuie,
automat, câmpului, când utilizatorul nu introduce nici o valoare pentru acel
câmp;
 Regulă de validare (Validation Rule) – un criteriu care
trebuie îndeplinit de valoarea câmpului pentru a putea fi acceptată (v. mai
jos);
 Text de validare (Validation Text) – textul care se va afişa în
bara de mesaje când valoarea introdusă în câmp nu se respectă criteriul
specificat la Regula de validare;
 Obligatoriu (Required) – dacă este activată, utilizatorul nu va putea
trece de acel câmp fără să-l completeze;
 Se permite lungimea zero (Allow Zero Length) – se permit
sau nu valori vide în câmpurile text sau memo;
 Indexat (Indexed) – se creează sau nu un index pentru acel câmp (v.
capitolul despre indexare, mai jos).
5. La închiderea ferestrei, suntem întrebaţi dacă dorim să salvăm noul tabel şi, dacă
folosim Yes, se va afişa un dialog în care trebuie să introducem numele noului
tabel.
6. Vom fi întrebaţi dacă dorim să indexăm tabelul după un anumit câmp. Deoarece
indexarea va fi discutată mai jos, vom răspunde cu No la această întrebare.
După aceşti paşi, în lista afişată în fereastra principală a bazei de date, la folosirea
butonului Tabele (Tables), se va afişa, ca pictogramă, noul tabel.

9
Se foloseşte mai ales când numele câmpului este „codificat“ – de exemplu, un câmp care conţine un
nume de persoană se numeşte C04. În acest caz, la crearea ulterioară a unui raport/formular sau la afişarea
conţinutului tabelului, Access va folosi, în locul lui C04, numele specificat la Legendă ca etichetă pentru
câmp.
Access 2007 – Modul A – Pagina 11

Exemple:
Să se creeze tabelele PERSONAL şi FUNCŢII cu următoarele structuri:
PERSONAL FUNCŢII
Nume câmp Tip de date Lungime Nume câmp Tip de date Lungime
Nr crt AutoNumerotare Incremental Funcţia Număr Întreg lung
Marca Text 3 Denumire funcţie Text 15
CNP
Nume Text 15
Prenume Text 20
Data naşterii Dată/Oră
Data angajării Dată/Oră
Studii Da/Nu
Adresa Memo
Funcţia Număr Întreg lung
Salariul Număr Simplă precizie

5.3. Adăugarea, modificarea şi ştergerea înregistrărilor dintr-un tabel


Accesul la un câmp al unei înregistrări se poate face numai după ce a fost accesată
înregistrarea respectivă. Pentru aceasta, Microsoft Access 2007 dispune de o structură de
date numită indicator (pointer) de înregistrări care, la un moment dat, se află pe o anumită
înregistrare numită înregistrare curentă (ea este marcată în fereastra prezentată mai jos
printr-un caracter ► în stânga).
Pentru a opera cu înregistrări într-un tabel (adăugări, modificări, ştergeri):
 dăm clic dublu pe numele tabelului în fereastra Tabele (Tables);
 selectăm tabelul şi folosim butonul Deschidere (Open) .
Se va afişa o fereastră stil Excel în care vom face operaţiile dorite:
1. Adăugarea de înregistrări se face mutând pointerul pe ultima înregistrare, pe
ultimul câmp şi folosind tasta Tab sau butonul din bara de stare. În ambele
cazuri, va apărea o înregistrare nouă, goală, în care vom tasta valorile dorite.
2. Modificarea valorilor din înregistrările dintr-un tabel se face ţinând cont de
următoarele reguli generale:
 Trecerea de la un câmp la altul în aceeaşi înregistrare se face fie cu tastele
Tab (la următorul) sau Shift+Tab (la precedentul), fie cu un clic pe câmpul
dorit.
 Trecerea de la o înregistrare la alta se poate face:
 cu tastele săgeţi verticale
 cu clic pe înregistrarea dorită
 folosind barele de defilare
 folosind butoanele din partea inferioară a ferestrei.
 Trecerea la primul sau ultimul câmp din înregistrarea curentă se face cu
tastele Home respectiv End.
 Trecerea la primul câmp din prima înregistrare se face cu Ctrl+Home iar la
ultimul câmp din ultima înregistrare cu Ctrl+End.
 Copierea în înregistrarea curentă a valorii din înregistrarea precedentă se face
cu Ctrl+apostrof.
Access 2007 – Modul A – Pagina 12

 Valorile de tip AutoNumerotare se confirmă cu Enter.


 Pentru a copia/muta valoarea dintr-un câmp dintr-o înregistrare într-un câmp
din altă înregistrare putem folosi EditCopy/Cut după ce am selectat
valoarea-sursă, urmat de EditPaste în celula destinaţie. Se pot folosi şi
butoanele corespunzătoare din bara de instrumente.
 Introducerea datelor calendaristice se face, în mod standard, în formatul
zz/ll/aa dar se recomandă ca anul să fie tastat pe 4 cifre, chiar dacă, în
final, Microsoft Access 2007 îl va afişa, eventual, doar pe două cifre.
 Activarea/dezactivarea comutatorilor care apar pentru câmpurile de tip Da/Nu
se face fie cu bara de spaţiu, fie cu mouse-ul.
 Oricare ar fi modificarea făcută, putem anula ultima operaţie folosind
EditAnulare câmp/înregistrare curentă (EditUndo)
sau butonul cu acelaşi nume imediat după operaţia respectivă.
3. Ştergerea unei înregistrări se face prin selectarea ei urmată de tasta Delete sau
cu EditDelete Record sau folosind butonul Delete din bara de
instrumente, după care se confirmă ştergerea (Atenţie, nu există Undo!).
Exemplu: Să se introducă în tabelul PERSONAL cel puţin 10
înregistrări, cu dubluri pentru câmpul Funcţia. În tabelul
FUNCŢII vor exista atâtea înregistrări câte coduri distincte
de funcţii există în tabelul PERSONAL.

5.4. Modificarea structurii unui tabel


Pentru a modifica structura unui tabel:
1. Deschidem baza de date.
2. Deschidem fereastra de dialog Tabele (Tables).
3. Alegem tabelul dorit.
4. Folosim butonul Proiect (Design). Se va afişa aceeaşi fereastră ca la crearea
tabelului, în care vom efectua modificările dorite, adică:
 Inserarea unui câmp între două câmpuri existente – se face selectăm câmpul
deasupra căruia dorim să apară cel nou şi folosim InsertRows sau
butonul Insert Rows din bara Table Design, după care
specificăm numele noului câmp, tipul de date şi lungimea câmpului.
 Ştergerea unui câmp – selectăm câmpul cu un clic pe butonul gri din stânga
numelui lui şi folosim EditDelete sau tasta Delete sau butonul
Delete Rows din bara Table Design. Dacă acel câmp participă la
vreun index, se va şterge şi acel index.
 Mutarea unui câmp în altă poziţie – se face trăgând cu mouse-ul pe
verticală butonul gri aflat în stânga numelui lui, până când acesta ajunge în
Access 2007 – Modul A – Pagina 13

poziţia dorită;10
 Modificarea caracteristicilor unui câmp (tip/subtip de dată, lungime,
numărul de zecimale etc.) – folosim elementele de control din zona
Proprietăţi câmp (Field Properties).
La închiderea ferestrei de modificare a structurii, Microsoft Access 2007 ne întreabă
dacă dorim ca modificările efectuate să rămână valabile.
OBSERVAŢII
1. Sunt posibile orice modificări, cu condiţia să avem grijă la schimbarea
tipurilor de date (Microsoft Access 2007 încearcă să convertească valorile
existente la noul tip de date dar nu orice conversie e posibilă) şi la
scurtarea câmpurilor (cazuri în care, valorile existente ar putea fi
trunchiate).
2. Oricare ar fi modificările făcute, putem anula ultima operaţie folosind
EditAnulare... (EditUndo...) sau butonul dar numai imediat
după operaţia respectivă şi numai până la închiderea ferestrei de
proiectare.
5.4.1. Crearea unei reguli de validare pentru un câmp
La introducerea unei valori într-un câmp putem să interzicem tastarea de valori eronate
în acel câmp, impunând o regulă de validare. În general, regula de validare constă în
evaluarea unei expresii logice (a unei condiţii) impuse valorii introduse de utilizator în
câmp.
Operatorii de comparare folosiţi, de obicei, la crearea unei condiţii sunt:
= egal cu
>, < mai mare respectiv mai mic
<=, >= mai mare sau egal, respectiv mai mic sau
egal
<> diferit de
De exemplu, dacă dorim ca salariul persoanelor din tabel să fie mai mare de 5.000.000
ROL, condiţia impusă asupra câmpului Salariu va fi >5000000.
Pentru aceasta:
1. Deschidem fereastra de proiectare a tabelului.
2. Selectăm câmpul căruia vrem să-i stabilim condiţia de validare.
3. Dăm clic pe zona Regulă de validare (Validation Rule) din partea
inferioară a ferestrei şi folosim una din următoarele variante:
 Tastăm direct condiţia dorită (în acest exemplu, >5000000) şi închidem
fereastra.
 Folosim butonul din dreapta zonei Regulă de validare, ceea ce va
deschide dialogul Generator de
expresii (Expression Builder)
în care putem crea condiţia respectivă fie
prin tastare directă, fie folosind butoanele
10
De fapt, mutarea câmpului nu afectează cu nimic tabelul deoarece, ulterior, vom putea schimba
ordinea câmpurilor în ferestre, rapoarte, formulare etc.
Access 2007 – Modul A – Pagina 14

aflate sub zona de construire a condiţiei.11


4. Se confirmă cu OK în dialog şi se închide fereastra de proiectare a bazei.
Dacă tabelul conţine deja valori, Access 2007 testează dacă acestea se conformează
restricţiei impuse şi, dacă nu, afişează un mesaj de avertizare cu următoarele variante:
 Yes – regula de
validare se păstrează şi
testarea continuă;
 No – regula nu se
păstrează şi se continuă
testarea;
 Cancel – întrerupe testarea.
Dacă folosim Yes, valorile actuale din tabel sunt păstrate dar, ulterior, dacă încercăm
să modificăm o valoare astfel încât ea să rămână incorectă sau să introducem o valoare
incorectă în acel câmp, Acces va refuza acest
lucru şi va afişa un mesaj de eroare care
conţine fie un text standard, fie textul
specificat de noi la Text validare
(Validation Text) în fereastra de
proiectare a tabelului.

5.5. Ştergerea unui tabel din baza de date


Dacă decidem că nu mai avem nevoie de unui tabel, putem folosi, după selectarea lui
din fereastra principală a bazei de date, EditDelete sau tasta Delete sau butonul

Delete din bara de instrumente a ferestrei principale a bazei de date.


Access 2007 va cere confirmare pentru ştergerea tabelului.
Atenţie! NU există Undo pentru această operaţie! În plus, dacă tabelul şters
participă la o relaţie cu alte tabele, relaţia se desfiinţează.

6. MODIFICAREA ASPECTULUI UNEI FERESTRE CU DATE


OBSERVAŢIE
Oricare ar fi modificările discutate în subcapitolele de mai jos, la închiderea
ferestrei Microsoft Access 2007 ne va întreba dacă dorim să păstrăm modificările
făcute. Dacă vom răspunde cu Yes (nerecomandabil) la următoarea afişare a
conţinutului tabelului aspectul va fi acelaşi cu cel actual; în caz contrar, aspectul
va fi cel standard.

6.1. Schimbarea dimensiunilor coloanelor şi liniilor


Există două metode:
1. Prin tragere:

11
Valorile constante tip dată calendaristică trebuie specificate între caractere # (ca în #05/07/1964), cele
de tip text între ghilimele (ca în "Popescu") iar cele de tip Da/Nu ca -1 sau 0 (corespunzător lui Da respectiv
Nu).
Access 2007 – Modul A – Pagina 15

 Pentru o coloană, plasăm cursorul de mouse


între numele coloanelor pentru care dorim să modificăm lăţimea de afişare
până când are forma unei bare verticale cu două săgeţi orizontale şi tragem
spre stânga sau spre dreapta până când coloana are lăţimea dorită.12
 Pentru o linie, plasăm cursorul de mouse pe linia separatoare dintre două
înregistrări din stânga ferestrei şi tragem în sus sau în jos până când linia
capătă înălţimea dorită. Toate liniile din fereastră vor primi noua înălţime.
2. Din meniu:
 Pentru o coloană,
plasăm cursorul în
coloană şi folosim
FormatColumn
width. Se va afişa un
dialog în care, la
Lăţime coloană
(Column width)
vom specifica lăţimea dorită pentru coloană, în număr de caractere. Revenirea
la lăţimea standard se face activând Lăţime standard (Standard
width). Dacă dorim o îngustare/lăţire a coloanei astfel încât să poată fi
cuprinsă cea mai lungă valoare, folosim Potrivire (Fit).
 Pentru o linie, plasăm cursorul în linie şi folosim FormatRow Height.
Se va afişa un dialog în care, la Înălţime rând (Row height) stabilim
înălţimea dorită pentru linii, în puncte. Revenirea la înălţimea standard se face
activând Înălţime Standard (Standard height).

6.2. Schimbarea ordinii de afişare a câmpurilor


Iniţial, ordinea de afişare a câmpurilor este cea în care ele apar în structura tabelului.
Putem modifica ordinea de afişare selectând coloana respectivă (clic pe nume când
indicatorul de mouse are forma unei săgeţi în jos – ↓) şi trăgând cu mouse-ul de nume
spre stânga sau spre dreapta până când coloana apare în poziţia dorită.
Operaţia nu afectează ordinea în care câmpurile au fost definite în structura tabelului.

6.3. Blocarea unui câmp pe ecran


Dacă vrem ca un anumit câmp să nu dispară de pe ecran la o defilare stânga-dreapta în
tabel, dăm un clic oriunde în coloana câmpului respectiv şi folosim FormatFreeze
Columns. Câmpul respectiv va fi mutat în prima poziţie din fereastră şi va rămâne fixat
acolo astfel încât să fie întotdeauna vizibil, celelalte câmpuri defilând spre stânga sau spre
dreapta pe sub el.
Se pot bloca mai multe câmpuri.
Deblocarea se face folosind FormatUnfreeze All Columns, dar coloana
respectivă nu-şi va relua vechiul loc din fereastră.

12
Această operaţie nu are nici un efect asupra lungimii cu care câmpurile au fost definite în tabel.
Access 2007 – Modul A – Pagina 16

6.4. Ascunderea şi reafişarea câmpurilor


Pentru a ascunde un câmp vom selecta coloana
corespunzătoare şi vom folosi FormatHide Columns.
Coloana respectivă va dispărea din fereastră. Se pot ascunde
mai multe câmpuri, cu condiţia să fie vecine.
Reafişarea câmpurilor ascunse se face cu
FormatUnhide Columns, care va afişa un dialog în
care vom activa comutatorii corespunzători coloanelor pe
care dorim să le vedem din nou.

6.5. Liniile de grilă şi culoarea de fond


Plasăm cursorul undeva în tabel şi folosim FormatFoaie de date
(FormatDatasheet). Se va afişa un dialog în care vom specifica următoarele:
 Efect celulă (Cell effect) – stabilim efectele vizuale pentru celule;
 dacă dezactivăm Orizontale (Horizontal) sau Verticale
(Vertical), liniile de grilă respective nu se vor afişa;
 Culoare linii de grilă (Gridline color)
–culoarea liniilor de grilă;
 Culoare fundal (Background color) –
culoarea de umplere;
 de la Stiluri linie şi chenar selectăm tipul
de linie pentru fiecare latură în parte;
 de la Direcţie (Direction) putem impune ordinea
în care vor fi preluate câmpurile din structura tabelului
(de exemplu, pentru Orientul Mijlociu, unde unele
popoare citesc de la dreapta la stânga).
 pentru a previzualiza aspectul celulelor din fereastră se
foloseşte zona Eşantion (Sample).
Parametrii privind liniile de grilă se pot stabili numai pentru întregul tabel, nu şi pentru
anumite coloane, celule, linii, domenii de celule.

6.6. Modificarea parametrilor de font pentru câmpurile din fereastră


Se plasează cursorul undeva în tabel şi se foloseşte
FormatFont, după care se aleg parametrii doriţi.
Dialogul afişat este asemănător celui de la Word şi
Excel, dar sunt mai puţine opţiuni.
Se poate folosi şi bara de formatare, care se activează
cu ViewToolbarsFormatting
(Datasheet).
Parametrii privind fontul se pot stabili numai pentru
întregul tabel, nu şi pentru anumite coloane, linii, celule,
domenii etc.
Access 2007 – Modul A – Pagina 17

6.7. Sortarea înregistrărilor din tabel


Dacă dorim ca tabelul să fie sortat (ordonat) după valorile dintr-un câmp, vom plasa
cursorul în câmpul respectiv şi vom folosi:
 butoanele Sort Ascending respectiv Sortare descendentă
, după cum dorim ca sortarea să fie crescătoare sau descrescătoare;
 RecordsSortSort Ascending respectiv Sortare
descendentă.
 Sort Ascending respectiv Sortare descendentă din meniul
contextual al câmpurilor selectate.
OBSERVAŢII
1. Dacă dorim sortarea după mai multe criterii, vom muta câmpurile-criterii
astfel încât să fie vecine în fereastră, în ordinea importanţei lor ca şi
criterii,13 le vom selecta şi vom folosi aceleaşi butoane, în funcţie de
ordinea dorită.
2. Nu putem impune pentru fiecare din câmpurile selectate o anumită ordine
(de exemplu, pentru primul o selectare crescătoare şi pentru al doilea una
descrescătoare).
3. Aceeaşi metodă se poate aplica şi dacă e vorba de o fereastră cu
rezultatele unei interogări.
Revenirea la ordinea iniţială se face cu RecordsRemove Filter/Sort, înainte
de a închide fereastra.
La închiderea ferestrei, vom fi întrebaţi dacă ordinea în care sunt afişate înregistrările
este cea dorită şi pe viitor. Dacă răspundem cu Yes, Microsoft Access 2007 va modifica
ordinea lor şi în tabel astfel încât, la o ulterioară deschidere a acestuia, să le găsim în
această ordine.14
Exemplu: Să se sorteze descrescător înregistrările după
câmpurile Studii şi Nume.

6.8. Căutarea unei valori într-un tabel


Putem căuta o anumită valoare fie într-un anumit câmp dintr-un tabel, fie în întregul
tabel. Pentru aceasta, plasăm cursorul în câmpul în care vrem să facem căutarea şi folosim
EditFind sau butonul Find din bara de instrumente Baza de date sau
Ctrl+F. În toate cazurile se va afişa un dialog în care vom specifica următoarele:
 la De căutat (Find What) – valoarea pe care o căutăm;
 la Privire în (Look in) – putem alege Tabel (Table) pentru a efectua
căutarea în întregul tabel (în caz contrar, căutarea se va efectua numai în câmpul
în care se afla cursorul la începerea căutării);
 la Potrivire se poate stabili
modul de căutare, selectând una din
13
Ordinea în care sunt afişate câmpurile selectate este esenţială, în sensul că al doilea criteriu va avea
efect numai dacă pentru primul există două înregistrări cu aceeaşi valoare.
14
Atenţie! În acest caz, la viitoarea deschidere a ferestrei Access nu va şti care a fost ordinea iniţială.
Access 2007 – Modul A – Pagina 18

următoarele opţiuni:
 Orice parte din câmp (Any Part of the Field)
 Câmpul întreg (Whole Field)
 Început de câmp (Field Start)
 La Căutare (Search) se stabileşte direcţia de căutare în raport cu poziţia
indicatorului de înregistrări: În sus (Up), În jos (Down), Toate (All).
 dacă activăm Potrivire litere mari şi mici (Match Case),
Microsoft Access 2007 va ţine cont, la căutare, de diferenţa între litere mari şi
litere mici;
Declanşarea operaţiunii de căutare se face cu butonul Următorul (Find Next).
Putem folosi acest buton şi pentru continuarea căutării.
OBSERVAŢIE
Nu se pot face căutări pentru câmpuri de tip DA/NU.
Exemplu: Să se caute toate înregistrările pentru care
câmpul Funcţia are valoarea 2.

6.9. Filtre
Când lucrăm cu un tabel cu multe înregistrări, putem stabili un filtru prin care vom
obliga Microsoft Access 2007 să afişeze numai înregistrările care îndeplinesc o anumită
condiţie (de exemplu, dorim ca în tabelul afişat să apară numai înregistrările pentru care
prenumele este Nicolae).
Există mai multe tipuri de filtre:
 Filtre care afişează numai înregistrările care, în câmpul curent, au valoarea
respectivă – se creează după plasarea cursorului într-un articol cu valoarea
respectivă, în acel câmp, folosind RecordsFilter by Selection sau
butonul Filter By Selection din bara de instrumente Baza de
15
Date. În fereastră vom vedea numai înregistrările pentru care e îndeplinită
condiţia.
 Filtre care afişează numai înregistrările care în câmpul curent, au alte valori decât
cea curentă – se creează după plasarea cursorului într-un articol cu valoarea
respectivă, în acel câmp, folosind RecordsFilter Excluding
Selection.16 În fereastră vom vedea numai înregistrările pentru care nu e
îndeplinită condiţia.
Revenirea la afişarea tuturor înregistrărilor se face cu RecordsRemove

Filter/Sorts sau cu butonul Eliminare filtru (Remove Filter) din

15
De exemplu, pentru a vedea numai înregistrările pentru care prenumele este Nicolae, vom da clic în
câmpul Prenume pe o astfel de înregistrare şi vom folosi butonul Filter By Selection. Atenţie: la
câmpurile de tip dată calendaristică, putem face filtrarea şi pentru zi, lună, an, cu condiţia să selectăm,
înainte, porţiunea respectivă din data calendaristică.
16
De exemplu, pentru a vedea înregistrările pentru care prenumele nu este Nicolae, vom da clic în
câmpul Prenume pe o astfel de înregistrare şi vom folosi butonul RecordsFilter Excluding
Selection.
Access 2007 – Modul A – Pagina 19

aceeaşi bară de instrumente.


Exemple: Să se creeze un filtru pe câmpul Nume, apoi un
filtru care să afişeze numai pe cei născuţi în alte luni
decât octombrie.

7. INDEXAREA UNUI TABEL


Prin indexare, Microsoft Access 2007 menţine liste ascunse de intrări, numite indecşi,
care conţin toate valorile unui câmp, ordonate crescător sau descrescător.
După creare, indecşii permit executarea mai rapidă a interogărilor, căutărilor şi
sortărilor în funcţie de câmpul pe baza căruia a fost definit indexul.
De asemenea, una dintre principalele utilizări ale indecşilor constă în stabilirea unor
relaţii între două sau mai multe tabele.
Cu cât valorile câmpului pe baza căruia a fost definit indexul sunt mai variate, cu atât
indexul este mai eficient.17
Cheia unui tabel reprezintă un ansamblu minim de câmpuri care identifică în mod unic
o înregistrare din tabel.
Ea poate fi formată dintr-un singur câmp (cheie simplă) sau din mai multe câmpuri
(cheie compusă).
La un moment dat, într-un tabel pot exista mai multe atribute cu proprietatea că pot
identifica în mod unic o înregistrare, acestea numindu-se chei candidate. Dintre acestea
putem alege o cheie care se foloseşte efectiv, ea fiind numită cheie primară.
În Microsoft Access 2007 se pot crea două tipuri principale de indecşi:
 un index cheie primară – este unic la nivelul fiecărui tabel şi nu permite
existenţa de valori duplicate sau valori nule în câmpul pe care a fost creat;
 unul sau mai mulţi indecşi normali. La rândul lor, aceştia pot fi de două
subtipuri:
 Da (cu dubluri) – permit existenţa valorilor duplicate în câmpul respectiv;
 Da (fără dubluri) – nu pot exista două înregistrări cu aceeaşi valoare sau
valori nule pentru câmpul respectiv.

7.1. Crearea, modificarea şi ştergerea unui index cheie primară


 Pentru creare, după deschiderea bazei de date vom da un clic pe butonul
Tabele (Tables), vom alege tabela dorită şi vom folosi butonul Proiect
(Design). În partea superioară a ferestrei vom selecta câmpul pentru care dorim

să fie creat un index cheie primară şi vom folosi butonul Primary Key
din bara Table Design.
OBSERVAŢIE
Dacă cheia primară e formată din mai multe câmpuri, selectarea lor se face
ţinând apăsată tasta Shift. În acest caz, simbolul de cheie va apărea lângă fiecare
câmp selectat.
17
Deşi crearea unor indecşi poate mări semnificativ viteza unor operaţii, existenţa multor indecşi pentru
o bază de date încetineşte viteza de lucru la adăugările şi modificările datelor, deoarece, pe lângă baza de
date, Microsoft Access trebuie să actualizeze şi indecşii.
Access 2007 – Modul A – Pagina 20

Lângă numele câmpului selectat va apărea o cheie care va indica faptul că


pentru acel câmp a fost definit un index cheie primară.
La închiderea ferestrei de structură a tabelului, Access 2007 va verifica dacă
în acel câmp există valori duplicat şi/sau valori nule şi, dacă da, va refuza crearea
indexului. În acest caz, vom închide fereastra de structură fără salvare, vom
reparcurge tabelul pentru a elimina valorile duplicat şi/sau a completa valorile
nule după care ne vom întoarce la crearea indexului.
 Modificarea unui index cheie primară se face asemănător: clic pe butonul
Primary Key după selectarea câmpului. Dacă există deja un index cheie
primară, cheia se va muta pe noul câmp.
 Ştergerea unui index cheie primară se face selectând câmpul şi dând clic pe
butonul Primary Key.
Exemple: 1. Să se creeze un index cheie primară pe câmpul
Funcţia în tabelul FUNCŢII.
2. Să se încerce crearea unui index cheie primară pe
câmpul Funcţia în tabelul PERSONAL.

7.2. Crearea, modificarea şi ştergerea unui index normal


Pentru a crea un index normal:
1. Selectăm tabelul din fereastra bazei de date şi folosim butonul Proiect
(Design). Se va afişa fereastra de definire a tabelului.
2. Selectăm câmpul pentru care dorim să creăm indexul şi folosim lista ascunsă
Indexat (Indexed) din subfereastra inferioară, în care stabilim tipul de
index:
 Da (Cu dubluri) – Yes (Duplicates OK) – câmpul respectiv poate
conţine valori duplicat;
 Da (Fără dubluri) – Yes (No duplicates) – câmpul nu poate
conţine valori duplicat.18
3. Se închide fereastra.
Modificarea caracteristicilor unui index normal se face în mod asemănător.
Ştergerea unui index se face la fel, dar folosind varianta Nu (No) în lista ascunsă
Indexat.
Exemple: Să se creeze un index normal, cu dubluri, pe
câmpul Funcţia şi unul fără dubluri pe câmpul Marca.

8. RELAŢII ÎNTRE TABELELE DINTR-O BAZĂ DE DATE


Foarte frecvent, stocarea într-un singur tabel a tuturor datelor implicate în problema de
rezolvat este fie anevoioasă, fie impune, ulterior, prelucrări suplimentare şi greoaie. De
aceea, a apărut posibilitatea de a „împrăştia“ datele în mai multe tabele, în ideea de a se
economisi spaţiu şi de a se evita repetarea aceloraşi valori.
De exemplu, putem crea o relaţie între tabelul PERSONAL şi tabelul FUNCŢII, prin
intermediul câmpului Funcţie, relaţie prin care, ulterior, putem avea la dispoziţie valori
18
În acest caz, la închiderea ferestrei Access face aceeaşi verificare ca la indexul cheie primară.
Access 2007 – Modul A – Pagina 21

din ambele tabele.


Relaţia între două tabele e o relaţie de subordonare şi, de aceea, la crearea unei relaţii
trebuie să decidem care dintre tabele este tată (tabelul conducător) şi care tabel fiu
(tabelul condus).
Odată relaţia creată, la mutarea pointerului de articol de pe un articol pe altul în tabelul
tată, se va muta, automat, şi pointerul de articol din tabelul fiu pe articolul corespunzător.
OBSERVAŢII
1. Un tabel considerat ca tabel-tată poate avea mai multe tabele-fiu care, la
rândul lor, pot avea tabele-fiu.
2. Un tabel aflat mai jos în structură (fiu, nepot etc.) nu poate fi tabel-tată
pentru tabelul-tată iniţial.
Din punct de vedere al Microsoft Access 2007, pot exista trei tipuri de relaţii:
 unul-la-mai-multe (One-to-Many) – unei înregistrări din tabelul-tată îi pot
corespunde mai multe înregistrări în tabelul-fiu (nu este obligatoriu);
 unul-la-unul (One-to-One) – unei înregistrări din tabelul-tată îi poate
corespunde o singură înregistrare din tabelul-fiu; este un tip de relaţie rar
folosit;
 mai-multe-la-mai-multe (Many-to-Many) – o înregistrare din tabelul-tată
poate avea mai multe înregistrări corespondente în tabelul-fiu şi viceversa.
Pentru crearea unei relaţii între două tabele trebuie ca în fiecare tabel care participă la
relaţie să existe un index pentru câmpul de legătură, câmp ce trebuie să fie de acelaşi tip
de dată şi de aceeaşi lungime în ambele tabele.
Tipul de relaţie care poate fi stabilit depinde de tipul indexului pe câmpul de legătură
din fiecare tabel în parte:
 unul-la-mai-multe – indexul din tabelul tată trebuie să fie de tip cheie primară
sau normal fără dubluri iar cel din tabelul-fiu de tip normal, cu Da (cu
dubluri);
 unul-la-unul – ambii indecşi (din tabelul tată şi din tabelul fiu) trebuie să fie
cheie primară sau de tip normal, cu Da (fără dubluri);
 mai-multe-la-mai-multe – indecşii pe câmpurile de legătură din tabelul tată şi
tabelul fiu trebuie să fie de tip normal, cu Da (cu dubluri).

8.1. Crearea, modificarea şi ştergerea unei relaţii între tabele


Vom lucra pe un exemplu: având tabelele PERSONAL şi FUNCŢII, unei
înregistrări din tabelul FUNCŢII îi pot corespunde mai multe înregistrări din tabelul
PERSONAL (pot exista mai multe persoane cu aceeaşi funcţie). Ne propunem să
creăm o relaţie tip unul-la-mai-multe între cele două
tabele.
1. Deschidem baza de date şi alegem tabelul PERSONAL. Vom crea pentru el un
index normal pe câmpul Funcţia, cu Da (cu dubluri) (deoarece pot exista
mai multe persoane cu aceeaşi funcţie).
2. Alegem apoi tabelul FUNCŢII şi creăm pentru el un index cheie primară sau un
index normal cu Da (fără dubluri) pe câmpul Funcţia (deoarece nu pot
exista mai multe denumiri de funcţii cu acelaşi cod de funcţie).
Access 2007 – Modul A – Pagina 22

3. Folosim ToolsRelationships sau butonul Relationships din


bara de instrumente. Se va deschide un dialog în care apar tabelele bazei de date.
4. Selectăm pe rând fiecare tabel ce va participa
la relaţie şi folosim, pentru fiecare, butonul
Adăugare (Add) după care închidem
dialogul.
5. Se va afişa fereastra Relaţii
(Relationships) în care apar mici
subferestre pentru fiecare tabel din baza de date.19
6. Vom trage cu mouse-ul dinspre câmpul de relaţie din tabelul-tată (Funcţia din
tabelul PERSONAL) spre câmpul din tabelul-fiu prin care se stabileşte relaţia
(Funcţia din FUNCŢII). Se va afişa un dialog prin care ni se cere, eventual,
alegerea câmpurilor prin care se face legătura dintre tabele. Vom confirma cu
butonul Creare (Create) deoarece câmpurile au fost, deja, alese.
7. În fereastra Relaţii (Relationships) afişată, între cele două tabele va
apărea o linie
prin care se
sugerează
noua relaţie.
Modificarea
ulterioară a tipului de
relaţie şi/sau a
câmpurilor prin care se
face asocierea se
realizează dând un clic
dreapta pe linia de relaţie şi folosind Edit Relationships din meniul contextual al
liniei de relaţie. Se va afişa acelaşi dialog, în care putem alege tabelele din relaţie şi
câmpurile de legătură din fiecare.
Ştergerea relaţiei se face printr-un clic pe linia de relaţie şi folosirea tastei Delete.

9. INTEROGĂRI
O interogare este un obiect al bazei de date care ne permite extragerea din unul sau
mai multe tabele a înregistrărilor care satisfac anumite criterii. 20 După crearea interogării,
ea poate fi executată ori de câte ori este nevoie, obţinând ca rezultat doar câmpurile dorite
şi/sau înregistrările care satisfac o anumită condiţie.

9.1. Crearea unei interogări


Pentru a crea o interogare:
1. În fereastra bazei de date folosim butonul Interogări (Queries), apoi:
 dăm clic dublu pe varianta Creare interogare în modul
vizualizare proiect (Create query in Design view);
19
Câmpurile pentru care a fost definit un index cheie primară sunt afişate cu bold.
20
Dacă e nevoie de date din mai multe tabele, ele trebuie legate prin relaţii.
Access 2007 – Modul A – Pagina 23

 folosim butonul Nou 


Vizualizare proiect  OK
(NewDesign viewOK).
2. În dialogul afişat selectăm, pe rând,
fiecare tabel ce va participa la interogare şi folosim, pentru fiecare, butonul
Adăugare (Add), după care închidem dialogul.21
În acest moment se va afişa fereastra generatorului de interogări, împărţită în
două subferestre:
 cea de sus conţine subferestre pentru tabelele selectate, cu relaţiile deja
stabilite;
 cea de jos permite specificarea celorlalte elemente ale interogării (câmpuri,
criterii etc.).
9.1.1. Specificarea câmpurilor care vor apărea în rezultatul interogării
Exemplu: Ne propunem să creăm o interogare care să afişeze
câmpurile Nume, Prenume, CNP, Data Naşterii, Studii, Funcţia şi Adresa din
tabelul PERSONAL şi câmpul Denumire funcţie din tabelul FUNCŢII.
Specificarea câmpurilor se face alegând, pe rând, fiecare câmp, din listele ascunse de
pe linia Câmp (Field).

OBSERVAŢII
1. Dacă la interogare participă două sau mai multe tabele, în listele ascunse
de la Câmp Acces va prefixa numele fiecărui câmp cu numele tabelului din
care provine câmpul respectiv (de exemplu, personal.funcţia
înseamnă că se va afişa câmpul Funcţia din tabelul PERSONAL iar
functii.funcţia înseamnă că se va afişa câmpul Funcţia din tabelul
FUNCŢII).
2. Numele tabelului din care provine fiecare câmp este afişat pe linia Tabel
(Table).
3. Ordinea în care sunt alese câmpurile are importanţă, în sensul că va fi
ordinea în care vor fi afişate câmpurile în rezultatul interogării. Dacă
actuala ordine nu e cea dorită, putem muta câmpurile ca pe orice coloană
dintr-o fereastră de date.
Schimbarea ordinii de afişare a câmpurilor se face la fel ca la ferestrele de date.
9.1.2. Testarea interogării
Se recomandă ca de oricâte ori facem o modificare asupra unei interogări să verificăm
dacă rezultatele sunt cele dorite.
Pentru aceasta putem folosi QueryRun sau butonul Run din bara de

21
Dacă, ulterior, vrem să mai adăugăm un tabel la interogare putem face acest lucru cu QueryShow

table sau cu butonul Show table după care, din dialogul afişat, alegem tabelul dorit. De
asemenea, dacă un tabel devine inutil într-o interogare, îl putem elimina selectându-l din subfereastra
superioară şi folosind QueryRemove Table sau tasta Delete.
Access 2007 – Modul A – Pagina 24

instrumente. Se va afişa o fereastră cu rezultatul interogării.


Revenirea la fereastra de proiectare se face cu ViewDesign View sau cu butonul
Vizualizare (View) din bara de instrumente.
OBSERVAŢIE
Se va evita, după testare, închiderea ferestrei cu rezultate, operaţie care ne va
întoarce la fereastra principală a bazei de date.
9.1.3. Ordonarea rezultatelor după unul sau mai multe criterii
Dacă dorim ca în rezultatul interogării înregistrările să fie ordonate după unul sau mai
multe criterii, vom folosi lista ascunsă Sortare (Sort) pentru câmpul care constituie
criteriu de sortare, din care vom alege ordinea în care se face sortarea (Ascendentă –
Ascending, Descendentă – Descending, nesortat – unsorted).
Putem alege mai multe câmpuri drept criteriu de sortare, dar trebuie să ţinem cont că:
 Ordinea în care sunt alese aceste criterii este importantă, în sensul că al doilea
criteriu va avea efect numai dacă pentru primul există valori duplicat.
 Câmpul care este criteriu principal de sortare trebuie să fie în stânga câmpului
criteriu secundar (nu neapărat vecine).
Exemplu: Să se ordoneze rezultatele interogării crescător
după Studii şi descrescător după Nume.
9.1.4. Ascunderea/reafişarea unor câmpuri din rezultat
Putem impune ca anumite câmpuri să nu se afişeze, dezactivând comutatoarele
corespunzătoare câmpurilor respective din linia Afişare (Show).
Reafişarea se face prin activarea comutatoarelor.
9.1.5. Specificarea înregistrărilor care vor apărea în rezultatul interogării
În mod normal, în rezultatul interogării apar toate articolele din tabelele selectate
iniţial. Putem impune prezentarea în rezultat numai a articolelor care satisfac anumite
condiţii.
Pentru aceasta, în linia Criterii (Criteria) de sub câmpul respectiv vom
specifica o condiţie de selectare a înregistrărilor. În rezultat vor apărea numai
înregistrările care satisfac condiţia respectivă.
Condiţia constă, în general, în compararea a două valori: cea din câmp şi valoarea pe
care o specificăm.
REGULĂ
Constantele de tip text trebuie introduse între ghilimele iar cele de tip dată
calendaristică între caractere diez (#).
Pentru comparare se pot folosi următorii operatori:
= valoare Rezultatul va conţine numai articolele pentru care
câmpul are valoarea specificată.
Exemplu: =2 sub câmpul Funcţia îi va extrage
numai pe cei care au funcţia 2.
< valoare Rezultatul va conţine numai articolele pentru care
câmpul are o valoare mai mică decât cea specificată.
Exemplu: <3 sub câmpul Funcţia îi va extrage
Access 2007 – Modul A – Pagina 25

numai pe cei care au funcţia 1 sau 2.


> valoare Rezultatul va conţine numai articolele pentru care
câmpul are o valoare mai mare decât cea specificată.
Exemplu: >2 sub câmpul Funcţia îi va extrage
numai pe cei care au funcţia cel puţin egală cu 3.
<= valoare Rezultatul va conţine numai articolele pentru care
câmpul are o valoare cel puţin egală cu cea
specificată.
>= valoare Rezultatul va conţine numai articolele pentru care
câmpul are o valoare cel mult egală valoarea
specificată.
<> valoare Rezultatul va conţine numai articolele pentru care
câmpul nu are valoarea specificată.
Exemplu: <>2 sub câmpul Funcţia îi va extrage
numai pe cei care nu au funcţia 2.
IN (val_1;val_2;...) Rezultatul va conţine numai articolele pentru care
câmpul are una din valorile specificate în listă.
Exemplu: IN("popescu";"ionescu") sub
câmpul Nume îi va extrage numai pe cei care se
numesc popescu sau ionescu.
BETWEEN val_min AND Rezultatul va conţine numai articolele pentru care
val_max
câmpul are valoarea specificată.
Exemplu: BETWEEN 400 AND 650 sub câmpul
Salariu îi va extrage numai pe cei care au salariul
între aceste valori (inclusiv).
NOT valoare Rezultatul va conţine numai articolele pentru care
câmpul nu are valoarea specificată (în acest caz,
operatorul este echivalent cu <>).
El este mai des folosit pentru a nega operatorii IN şi
BETWEEN, de exemplu:
 NOT IN ("george";"vasile") sub
câmpul Prenume va extrage pe cei la care
prenumele nu e george sau vasile;
 NOT BETWEEN 200 AND 375 sub câmpul
Salariu îi va extrage pe cei la care salariul
este mai mic de 200 sau mai mare de 375.
NOT NULL sau IS NOT NULL Rezultatul va conţine numai articolele pentru care
câmpul sub care se află operatorul nu este gol.22
NULL sau IS NULL Rezultatul va conţine numai articolele pentru care
câmpul sub care se află operatorul este gol.
Pentru a introduce un criteriu de selectare avem două posibilităţi:

22
Atenţie! Un câmp de tip Text nu este considerat gol dacă conţine numai spaţii iar un câmp numeric
nu este gol dacă conţine valoarea 0.
Access 2007 – Modul A – Pagina 26

1. Introducerea criteriului prin tastare directă sub câmp, în linia Criterii


(Criteria) din fereastra de proiectare a interogării.
2. Plasând cursorul sub câmp, în linia
Criterii din fereastra de proiectare a
interogării şi folosind butonul Build
din bara de instrumente. Se va afişa
dialogul Generatorului de expresii, în
care vom putea construi condiţia dorită.
Dialogul conţine:
 o zonă în care vom construi
condiţia, în partea superioară;
 un set de butoane din care putem
alege operatorii care apar în
condiţie;
 o listă cu tabelele din care putem prelua câmpuri şi cu operatorii posibili;
 o listă cu câmpurile din tabelul selectat în prima listă;
 o listă cu formatul de afişare.
OBSERVAŢII
1. Dacă dorim să specificăm mai multe condiţii de selectare, le putem lega, în
zona expresiei, prin doi operatori logici:
 And – pentru ca o înregistrare să fie inclusă în rezultat trebuie ca ea să
îndeplinească ambele condiţii (de exemplu, dacă specificăm
Functia>=3 And Funcţia<=5, în rezultat vor apărea toate
persoanele pentru care codul de funcţie are o valoare 3...5.
 Or – pentru ca o înregistrare să fie inclusă în rezultat, trebuie să
îndeplinească măcar una dintre condiţiile respective (de exemplu, dacă
specificăm Nume="Ionescu" Or Nume="Popescu", în listă vor
apărea toate persoanele numite Ionescu sau Popescu.23
2. Putem nega o anumită condiţie folosind operatorul Not, care va determina
afişarea în rezultat a articolelor care nu satisfac condiţia specificată. De
exemplu, dacă dorim să afişăm persoanele pentru care prenumele nu este
Nicolae, vom specifica drept condiţie Not Prenume="Nicolae"24.
La închiderea dialogului Generatorului de expresii, Access 2007 va afişa condiţia sub
câmpul selectat iniţial.
Indiferent de metoda folosită (scriere directă a condiţiei în fereastra de interogare sau
folosirea Generatorului de expresii), efectul va fi acelaşi.
9.1.6. Specificarea criteriilor pentru mai multe câmpuri
În mod normal, condiţiile specificate pentru diferite câmpuri sunt legate prin And, în
sensul că, pentru ca o înregistrare să fie inclusă în rezultat, trebuie ca acea înregistrare să
îndeplinească toate condiţiile.
Dacă dorim ca o înregistrare să fie inclusă în rezultat dacă îndeplineşte cel puţin una
23
De fapt, echivalent cu IN("Popescu";"Ionescu).
24
De fapt, echivalent cu <>"Nicolae".
Access 2007 – Modul A – Pagina 27

din condiţii, vom plasa o condiţie pe linia Criterii (Criteria) sub câmpul
corespunzător iar cealaltă pe linia Sau (Or) sub câmpul respectiv.
De exemplu, dacă dorim ca în rezultat să apară toate înregistrările pentru care
prenumele este Nicolae sau înregistrările pentru care funcţia este 2, vom plasa în linia
Criterii de la câmpul Nume condiţia Nume="Nicolae" iar în linia Sau de la câmpul
Funcţia condiţia Funcţia=2.
EXEMPLE
1. Să se creeze, folosind Generatorul de expresii, o interogare care să extragă
numai persoanele născute după 1 ianuarie 1960 şi la care codul de funcţie este
2. Pentru aceasta:
a. În fereastra de proiectare vom plasa cursorul în linia Criterii sub câmpul
Data nasterii şi vom folosi butonul Build din bara de instrumente. În
dialogul Generatorului de expresii vom da clic dublu pe Tabele, apoi pe
tabelul Personal, apoi, în lista de câmpuri, pe câmpul Data naşterii.
Vom tasta, apoi, în zona de expresie, >01/01/1960 şi vom confirma cu OK.
25

b. Vom plasa apoi cursorul în linia Criterii sub câmpul Funcţia şi vom
folosi butonul Build din bara de instrumente. În dialogul Generatorului de
expresii vom da clic dublu pe Tabele, apoi pe tabelul Personal, apoi pe
câmpul Funcţia. Vom tasta, apoi, în zona de expresie, =2 şi vom confirma
cu OK.
La executarea interogării, vom observa că în rezultat sunt afişate numai
înregistrările care satisfac ambele condiţii specificate.
2. Să se creeze, folosind prima scrierea directă în fereastra de proiectare, o
interogare care să aibă ca rezultat articolele la care Funcţia este 1 sau Numele
este mai mare decât Radu.
a. În fereastra de interogare, sub câmpul Funcţia, scriem condiţia =1.
b. Sub câmpul Numele scriem condiţia >"Radu".

9.2. Salvarea interogării


Se face la închiderea ferestrei sau cu butonul
Save din bara de instrumente. Dacă e vorba de
o interogare nouă, se va cere un nume pentru ea, care
nu poate fi identic cu al unui tabel din baza de date.

9.3. Modificarea unei interogări


Se foloseşte butonul Interogări (Queries) din fereastra Baza de Date şi se
foloseşte butonul Proiect (Design). Se va afişa acelaşi dialog ca la creare, în care
vom face modificările dorite.

25
Datele calendaristice vor fi afişate, ulterior, la Criteria, între caractere diez (#).
Access 2007 – Modul A – Pagina 28

9.3.1. Ştergerea unor câmpuri din interogare


Se face prin selectarea coloanei câmpului respectiv şi folosirea tastei Delete.
9.3.2. Adăugarea unor câmpuri la o interogare
Se selectează coloana în stânga căreia vrem să apară noul câmp şi se foloseşte
InsertColumns, după care alegem câmpul dorit şi caracteristicile sale.

9.4. Executarea unei interogări


Ulterior, ori de câte ori dorim să executăm interogarea, vom da clic dublu pe ea în
fereastra Baza de Date, după ce am folosit butonul Interogări (Queries).

9.5. Ştergerea unei interogări


Dacă decidem că nu mai avem nevoie de o interogare, putem folosi, după selectarea ei
din fereastra a bazei de date, EditDelete sau tasta Delete sau butonul Delete
din bara de instrumente a ferestrei bazei de date.
Access 2007 va cere confirmare pentru ştergerea interogării.
Atenţie! NU există Undo pentru această operaţie!

10.FORMULARE
Formularele reprezintă interfaţa
principală între utilizator şi o bază de
date Access 2007. Ele sunt obiecte
componente ale bazei de date care
permit introducerea şi modificarea
datelor într-o manieră mai atractivă
decât modul de afişare Datasheet View, discutat mai sus.

10.1. Crearea unui formular


Pentru crearea unui formular:
1. Folosim butonul Formulare (Forms) a ferestrei Baza de Date, apoi
folosim una din următoarele variante:
 Creare formular utilizând expertul (Create by using
wizard);
 NouExpert FormularOK (NewForm WizardOK).
În ambele cazuri va începe un set de dialoguri
(wizard) în care vom menţiona conţinutul şi
aspectul noului formular.
2. Din lista Tabele/Interogări
(Tables/Queries) selectăm tabelul din care
provin câmpurile şi apoi, din lista Câmpuri
disponibile (Available fields)
selectăm câmpurile respective. Ele se vor muta în lista Câmpuri selectate
Access 2007 – Modul A – Pagina 29

(Selected fields). Putem alege, pe rând, câmpuri din mai multe tabele,
legate prin relaţie în baza de date. Transferul câmpurilor între cele 2 liste se face
cu ajutorul butoanelor > , >> , < , <<. Pentru trecerea la pasul următor
vom folosi Next.
OBSERVAŢIE
Ordinea în care selectăm câmpurile este ordinea în care
vor fi ele afişate în formular.
3. Dacă am ales câmpuri din mai multe tabele, vom fi întrebaţi
care dorim să fie tabelul conducător în viitorul formular (dacă am
ales câmpuri atât din FUNCŢII cât şi din
PERSONAL, vom alege, de exemplu, prin
personal). Trecerea la dialogul următor se face cu
Next.
4. Ni se va cere să alegem modul de aşezare a
câmpurilor în formular, prin butoanele radio
alăturate. Cel mai frecvent utilizat este modul
Columnar (câmpurile aşezate unul sub altul).
Trecerea la dialogul următor se face cu Next.
5. Aici alegem stilul de afişare pentru formular.
Deşi există mai multe variante, se recomandă
alegerea variantei Standard. Trecerea la dialogul
următor se face cu Next.
6. În dialogul final vom specifica numele
formularului şi vom specifica dacă dorim să
deschidem formularul pentru a începe introducerea
şi/sau editarea datelor. La terminare, vom confirma
cu Finish, care va deschide formularul pentru
începerea afişării/introducerii datelor respectiv va
deschide generatorul de formulare pentru modificarea
formularului.
Exemplu: Să se creeze un formular care să
conţină câmpurile Nume, Prenume, CNP, Data naşterii,
Studii, Adresa, Salariu şi Funcţia din tabelul
PERSONAL şi câmpul Denumire funcţie din tabelul
FUNCŢII.

10.2. Utilizarea unui formular


După creare, putem utiliza formularul ori de câte ori avem nevoie pentru a adăuga
înregistrări în baza de date sau pentru a le modifica pe cele existente.
Pentru aceasta, în fereastra Baza de Date alegem butonul Formulare (Forms)
şi dăm un clic dublu pe numele formularului sau selectăm formularul şi folosim butonul
Deschidere (Open). Access 2007 va afişa formularul şi, în partea inferioară, o bară de
butoane pentru deplasare la o anumită
Access 2007 – Modul A – Pagina 30

înregistrare sau pentru adăugarea unora noi.


Adăugarea unui articol se face prin completarea valorilor din câmpuri după folosirea
butonului din bara afişată sau cu InsertNew Record.
Ştergerea unui articol se face după deplasarea la el, folosind butonul Delete
Record din bara de instrumente sau cu EditDelete Record. Access 2007 va
cere confirmare pentru ştergere.

10.3. Adăugarea şi modificarea textului din antetul sau subsolul


formularului
Pentru a adăuga un text în antetul/subsolul unui formular:
1. Folosim butonul Formulare (Forms) din fereastra bazei de date şi apoi

butonul Proiect (Design) din bara de instrumente. Access 2007 va

deschide fereastra Constructorului de formulare, în care vom putea efectua


modificările dorite. În plus, se va afişa şi bara de instrumente Toolbox.
2. Pentru a putea introduce text în antet, va trebui să modificăm, întâi, înălţimea sa
(iniţial 0). În acest scop, tragem cu mouse-ul în jos de bara separatoare aflată
între linia Antet Formular (Form Header) şi linia Detaliere
(Detail), atunci când cursorul de mouse are forma unei linii orizontale cu două
săgeţi verticale.
3. Din bara de instrumente Toolbox vom alege butonul Label ( ).
4. Descriem, prin tragere cu mouse-ul, un dreptunghi în care scriem textul antetului.
5. Tastăm textul şi confirmăm cu un clic în afara lui.
Pentru un subsol procedăm la fel, cu deosebirea că tragem cu mouse-ul de linia aflată
sub bara Subsol formular (Form Footer).
Access 2007 – Modul A – Pagina 31

10.4. Introducerea unei imagini într-un formular


Pentru a insera o imagine într-un formular:
1. Folosim butonul Image din bara de instrumente Toolbars.
2. Descriem, prin tragere cu mouse-ul, zona în care va apărea imaginea (indiferent
că e vorba de banda de antet, cea de detalii sau cea de subsol).
3. În acest moment apare un dialog în care alegem fişierul imagine pe care vrem să-
l inserăm.
În mod normal, Acces inserează în dreptunghiul descris fie
doar o porţiune din imagine, fie imaginea întreagă dar lăsând
spaţiu liber pe lângă ea. Pentru a avea întreaga imagine, dăm clic
dreapta pe imagine, operaţie care va afişa un dialog în care, la
Mod afişare, alegem:
 Zoom – Access 2007 va afişa întreaga imagine, pe cea
mai mare dimensiune posibilă în dreptunghiul descris;
 Lărgit – Access 2007 va umple cu imaginea întregul
dreptunghi, chiar dacă o va deforma.

10.5. Modificarea unui formular


Nu întotdeauna formularul creat ca mai sus corespunde perfect dorinţelor noastre.
Pentru a modifica un formular după ce a fost creat, folosim butonul Formulare
(Forms) în fereastra bazei de date, selectăm formularul de modificat şi utilizăm butonul
Proiect (Design). Se va afişa o fereastră şi o bară de instrumente, cu care vom putea
efectua diverse modificări asupra formularului.
Operaţiile uzuale sunt:
 mutarea unui câmp sau a unui text – se dă un clic pe câmp sau text, se
plasează cursorul de mouse pe colţul din dreapta-sus al dreptunghiului
înconjurător până când capătă forma unei mâini şi se trage până când o biectul
ajunge în poziţia dorită.
 schimbarea dimensiunii unui câmp sau text – se dă un clic pe obiect şi se trage
cu mouse-ul de unul din cele 8 puncte negre care apar pe laturile şi în colţurile
obiectului.
 fontul, culoare de text, culoarea de fundal, mărimea şi faptul că valorile sunt
afişate cu bold, italic şi/sau underline se determină, după selectarea
câmpului/textului, folosind listele ascunse şi butoanele din bara de
instrumente Formatting.
La închiderea ferestrei, vom fi întrebaţi dacă dorim să salvăm formularul cu noul
aspect.

10.6. Crearea unui formular prin care utilizatorul să aibă acces numai la
anumite înregistrări
Prin metoda de mai sus, utilizatorul va avea acces prin intermediul formularului la
toate înregistrările din tabelele selectate.
Dacă dorim să creăm un formular prin care să avem acces numai la anumite
Access 2007 – Modul A – Pagina 32

înregistrări, trebuie să parcurgem doi paşi majori:


1. Crearea unei interogări prin care să impunem condiţiile de selectare respective a
înregistrărilor, eventual câmpurile dorite şi ordinea de selectare a înregistrărilor.
2. Crearea formularului – se procedează ca mai sus, singura diferenţă fiind că la
pasul 1 nu se aleg tabelele din care provin înregistrările, ci interogarea respectivă.
Exemplu: Să se creeze un formular la care utilizatorul să
aibă acces numai la persoanele cu studiile DA (-1).

10.7. Ştergerea unui formular


Dacă decidem că nu mai avem nevoie de un formular, putem folosi, după selectarea lui
din fereastra bazei de date, EditDelete sau tasta Delete sau butonul Delete
din bara de instrumente a ferestrei bazei de date.
Access 2007 va cere confirmare pentru ştergerea formularului.
Atenţie! NU există Undo pentru această operaţie!

11. RAPOARTE
Un raport este un obiect din baza de date care permite extragerea datelor din unul sau
mai multe tabele, în general în scopul listării.
Ca şi la interogări şi la formulare, pentru crearea şi gestionarea rapoartelor există
butonul Rapoarte (Reports) în fereastra bazei de date care determină afişarea unei
liste cu rapoartele existente în baza de date.

11.1. Crearea unui raport


Exemplu: Ne propunem să creăm un raport care să conţină
câmpurile Nume, Prenume, CNP, Studii, Data angajării, Adresa, Funcţia, Salariul
din tabelul PERSONAL şi Denumirea funcţiei din tabelul FUNCŢII.
Articolele vor fi grupate după câmpul Studii, la sfârşitul
fiecărui grup fiind afişate suma şi media salariilor pentru
acele persoane. Orientarea pe hârtie va fi Portrait.
Pentru crearea unui raport există două variante:
 Creare raport utilizând
Expertul (Create report by
using wizard);
 butonul Nou (New) care deschide
fereastra Raport Nou în care selectăm
opţiunea Expert Raport (Report
wizard).
În ambele cazuri va începe un set de dialoguri (wizard) în care vom menţiona
conţinutul şi aspectul noului raport:
1. Din lista Tabele/Interogări
(Tables/Queries) selectăm tabelul din
care provin câmpurile şi apoi, din lista
Access 2007 – Modul A – Pagina 33

Câmpuri disponibile (Available Fields) selectăm câmpurile


respective. Ele se vor muta în lista Câmpuri selectate (Selected
Fields). Putem alege, pe rând, câmpuri din mai multe tabele, legate prin relaţie
în baza de date. Transferul câmpurilor între cele 2 liste se face cu ajutorul
butoanelor > , >> , < , << sau cu un clic dublu pe câmp în lista
respectivă. Pentru trecerea la pasul următor, vom folosi Next.
OBSERVAŢIE
Ordinea în care vor apărea câmpurile în raport este aceeaşi cu ordinea în
care ele sunt selectate.
2. Dialogul următor se afişează numai dacă, în dialogul anterior, am ales două
sau mai multe tabele; aici
putem stabili care este
tabelul „conducător“.
Alegerea acestuia are
importanţă dacă dorim ca
în raport articolele să fie grupate după un anumit criteriu. Vom alege, aici,
prin personal şi vom confirma cu Next.
3. În dialogul următor vom alege, dacă dorim, câmpul sau câmpurile care dorim
să fie criterii de grupare.
În mod normal, înregistrările vor
fi incluse în raport în ordinea în care
ele sunt găsite în tabele. Totuşi,
putem impune gruparea lor după un
câmp, un grup constând în toate
înregistrările care au aceeaşi valoare
pentru câmpul-criteriu (de exemplu,
la o grupare după câmpul Funcţia se
va crea un grup pentru funcţia 1,
altul pentru funcţia 2 etc.).
Se pot impune mai multe criterii de grupare, dar vom ţine cont că ordinea
în care sunt specificate aceste criterii este importantă, în sensul că pentru
primul criteriu se vor crea grupuri principale, în care se vor crea subgrupuri
pentru al doilea criteriu etc. De exemplu:
 dacă am ales drept prim criteriu câmpul Studii şi ca al doilea criteriu
câmpul Funcţia, se vor crea grupuri principale pentru toate persoanele
cu aceleaşi studii iar în cadrul acestor grupuri se vor crea subgrupuri pentru
toate persoanele cu acelaşi cod de funcţie;
 dacă am ales drept prim criteriu câmpul Funcţia şi ca al doilea criteriu
câmpul Studii, se vor crea grupuri principale pentru toate persoanele cu
acelaşi cod de funcţie iar în cadrul acestor grupuri se vor crea subgrupuri
pentru toate persoanele cu aceleaşi studii.
Pentru fiecare criteriu se va crea, în raport, câte o bandă antet de grup şi o
bandă subsol de grup, în care vom putea plasa valori statistice.
Selectarea unui criteriu se face dând un clic dublu pe numele câmpului în
Access 2007 – Modul A – Pagina 34

lista din stânga sau selectând câmpul şi folosind butonul >. Deselectarea se
face cu butonul <.
Trecerea la dialogul următor se face cu Next.
4. În acest dialog putem stabili 1...4 criterii după
care dorim sortarea articolelor în cadrul unui
grup (ordinea de stabilire este importantă).
Pentru aceasta, din listele ascunse 1...4 alegem
câmpul care dorim să fie criteriu de sortare după
care, pentru fiecare, putem stabili ordinea în
care se face sortarea, folosind butonul
Ascending/Descending alăturat fiecărei
liste în parte.
Pentru fiecare câmp numeric selectat la pasul
1 putem alege, folosind butonul Summary
Options, dacă dorim să se calculeze o sumă
(Sum), o medie (Avg), o
valoare minimă (Min) sau
o valoare maximă (Max).
Locul unde vor apărea
fiecare din aceste valori
statistice se stabileşte prin
butoanele radio Detail
and Summary – valorile
se vor afişa atât în banda de detalii cât şi în banda de rezumat a raportului
respectiv Summary Only –
numai în banda de rezumat.
Trecerea la pasul următor se
face cu Next.
5. În acest dialog putem alege
modul de aşezare în pagină a
raportului (butoanele radio de la
Layout), orientarea hârtiei pe
care se va lista raportul
(Orientation) şi o eventuală
trunchiere a valorilor câmpurilor
astfel încât să încapă toate pe
lăţimea hârtiei (dacă este activat Adjust the field width so all
fields fit on a page, Microsoft Access 2007 va
trunchia unele câmpuri astfel încât toate să încapă pe
lăţimea hârtiei). Trecerea la pasul următor se face cu Next.
6. La acest penultim pas vom alege stilul de listare pentru
raport. Trecerea la pasul următor se face cu Next.
7. La ultimul pas vom putea stabili un titlu pentru raport şi
Access 2007 – Modul A – Pagina 35

vom putea impune dacă dorim să trecem la previzualizarea raportului


(Examinare raport – Preview the report) sau să modificăm
raportul în fereastra de proiectare (Modificare proiect formular –
Modify the report's design). Terminarea se face cu Finish.

11.2. Modificarea unui raport


Un raport, odată creat, poate fi modificat conform dorinţelor, selectându-l din fereastra
Rapoarte şi folosind butonul Proiect (Design). Se va afişa o fereastră ce conţine
macheta raportului, în care vom face modificări asemănătoare cu cele de la formulare.
Operaţiile de modificare a unui raport sunt destul de frecvente, deoarece Access 2007
încearcă să plaseze toate valorile câmpurilor pe aceeaşi linie şi acest lucru nu este
întotdeauna posibil. În aceste cazuri:
 Câmpurile de tip Text sau Memo vor fi trunchiate.
 Câmpurile de tip numeric vor fi afişate în format cu exponent.
În ambele cazuri se impune lăţirea lor (eventual, îngustarea altora) pentru a se afişa
întreaga valoare dorită.
Operaţiile uzuale sunt:
 mutarea unui câmp sau a unui text – se dă un clic pe câmp sau text, se
plasează cursorul de mouse pe colţul din dreapta-sus al dreptunghiului
înconjurător până când capătă forma unei mâini şi se trage până când obiectul
ajunge în poziţia dorită.
 schimbarea dimensiunii unui câmp sau text – se dă un clic pe obiect şi se trage
cu mouse-ul de unul din cele 8 puncte negre care apar pe laturile şi în colţurile
obiectului.
 fontul, culoare de text, culoarea de fundal, mărimea şi faptul că valorile sunt
afişate cu bold, italic şi/sau underline se determină, după selectarea
câmpului/textului, folosind listele ascunse şi butoanele din bara de
instrumente Formatting.
La închiderea ferestrei, vom fi întrebaţi dacă dorim să salvăm raportul cu noul aspect.

11.3. Adăugarea şi modificarea textului din antetul sau subsolul raportului


Pentru a adăuga un text în antetul/subsolul unui formular:
1. Folosim butonul
Reports
(Rapoarte) din
fereastra bazei de date şi
apoi butonul Proiect

(Design) din
bara de instrumente.
Access 2007 va
deschide fereastra
Constructorului de
rapoarte, în care vom
Access 2007 – Modul A – Pagina 36

putea efectua modificările dorite. În plus, se va afişa şi bara de instrumente


Toolbox.

2. Din bara de instrumente Toolbox vom alege butonul Label ( ).


3. Descriem, prin tragere cu mouse-ul, un dreptunghi în care scriem textul antetului.
4. Tastăm textul şi confirmăm cu un clic în afara lui.
Pentru un subsol procedăm la fel.

11.4. Introducerea unei imagini într-un raport


Pentru a insera o imagine într-un formular:
1. Folosim butonul Image din bara de instrumente Toolbars.
2. Descriem, prin tragere cu mouse-ul, zona în care va apărea imaginea (indiferent
că e vorba de banda de antet, cea de detalii sau cea de subsol).
3. În acest moment apare un dialog în care alegem fişierul
imagine pe care vrem să-l inserăm.
În mod normal, Access 2007 inserează în dreptunghiul descris
fie doar o porţiune din imagine, fie imaginea întreagă dar lăsând
spaţiu liber pe lângă ea. Pentru a avea întreaga imagine, dăm clic
dreapta pe imagine, operaţie care va afişa un dialog în care, la
Mod afişare, alegem:
 Zoom – Access 2007 va afişa întreaga imagine, pe cea
mai mare dimensiune posibilă în dreptunghiul descris;
 Lărgit – Access 2007 va umple cu imaginea întregul
dreptunghi, chiar dacă o va deforma.

11.5. Gruparea înregistrărilor după anumite câmpuri


Dacă nu am grupat înregistrările după unul sau mai multe câmpuri din faza creării
raportului, putem face acest lucru în fereastra Constructorului de rapoarte astfel:
1. Folosim ViewSorting and
Grouping sau butonul cu acelaşi

nume din bara de instrumente


Formatting (Form/Report).
2. Se va afişa un dialog în care stabilim,
prin alegere din listele ascunse din
coloana Câmp/Expresie
(Field/Expression), câmpurile
care vrem să fie criterii de grupare şi
ordinea de ordonare pentru fiecare –
coloana Ordinea de sortare (Sort Order).
3. În zona Proprietăţi grupuri (Group Properties) putem stabili
diferite opţiuni privitoare la modul de grupare a datelor.
Access 2007 – Modul A – Pagina 37

11.6. Crearea unui raport în care să se afişeze numai anumite înregistrări


Prin metoda de mai sus, la tipărire se vor obţine toate înregistrările din tabelele
selectate.
Dacă dorim să creăm un raport care să conţină numai articolele care îndeplinesc
anumite condiţii, trebuie să parcurgem doi paşi majori:
1. Crearea unei interogări prin care să impunem condiţiile de selectare respective a
înregistrărilor, eventual câmpurile dorite şi ordinea de selectare a înregistrărilor.
2. Crearea raportului – se face ca mai sus, singura diferenţă fiind că, la pasul 1 nu se
aleg tabelele din care provin înregistrările, ci interogarea respectivă.
Exemplu: Să se creeze un raport care să conţină câmpurile
Nume, Prenume, Funcţia, Data naşterii şi să conţină numai persoanele cu
Funcţia 2.

11.7. Ştergerea unui raport


Dacă decidem că nu mai avem nevoie de un raport, putem folosi, după selectarea lui
din fereastra bazei de date, EditDelete sau tasta Delete sau butonul Delete
din bara de instrumente a ferestrei bazei de date.
Access 2007 va cere confirmare pentru ştergerea raportului.
Atenţie! NU există Undo pentru această operaţie!

12.TIPĂRIREA CONŢINUTULUI PENTRU UN


TABEL/FORMULAR/REPORT/ O INTEROGARE
Ca şi la Word şi Excel, listarea ar trebui precedată de o previzualizare a aşezării în
pagină a conţinutului.
12.1.1. Previzualizarea conţinutului
Indiferent de obiectul selectat (tabel, formular, raport, interogare), se va folosi, după
selectarea acestuia:
 FilePrint Preview;
 butonul Print Preview din bara Database.
Se va afişa o fereastră asemănătoare celei din Word sau Excel
cu conţinutul paginilor obiectului.
Dacă nu ne convin orientarea paginii şi/sau marginile, vom
Access 2007 – Modul A – Pagina 38

folosi FilePage Setup26 şi, în dialogul afişat, putem stabili:


 marginile – pagina de dialog Margini (Margins) marginile de pagină
(Sus, Jos, Stânga, Dreapta);
 în pagina Pagină – orientarea hârtiei (Tip portret sau Tip vedere)
şi mărimea acesteia (Dimensiune);
 în cazul rapoartelor – în pagina Coloane – tipărirea pe mai multe coloane a
raportului (pentru rapoarte înguste pe hârtie mare – Număr de coloane,
Dimensiune coloană, Aspect coloană.
Revenirea la fereastra principală se face cu butonul Close din bara de previzualizare
sau la închiderea ferestrei de previzualizare.
Exemplu: Să se
previzualizeze tabelul
PERSONAL şi să se ajusteze
lăţimile câmpurilor astfel
încât să încapă toate pe o
hârtie A4, orientare Tip vedere.
12.1.2. Tipărirea propriu-zisă
După ce am efectuat corecturile de rigoare privind orientarea în pagină, marginile,
mărimea hârtiei etc., vom folosi FilePrint sau butonul Imprimare din bara de
instrumente Baza de date (în cazul folosirii butonului tipărirea va începe imediat,
fără a mai putea specifica şi alte opţiuni).
În dialogul afişat la FilePrint vom putea specifica:
 domeniul de pagini pe care dorim să-l
listăm (Interval de imprimare);
se aplică aceleaşi reguli ca la Word şi
Excel;
 numărul de copii dorite (Copii) şi
ordinea în care dorim să obţinem paginile
copiilor (Asamb.);
 în cazul formularelor şi tabelelor, putem
tipări doar anumite înregistrări (numai
consecutive), dar, pentru aceasta trebuie ca
înainte de FilePrint să le selectăm după
care, în dialogul de imprimare, vom folosi
butonul radio Selected Records.
Declanşarea tipăririi se face cu OK.

26
În cazul tabelelor şi formularelor, pentru a folosi Page Setup, trebuie să deschidem întâi obiectul.
Access 2007 – Modul A – Pagina 39

Cuprins
1. CONCEPTE GENERALE PRIVIND BAZELE DE DATE................................1
1.1. Noţiunea de SGBD..................................................................................................1
2. ORGANIZAREA UNEI BAZE DE DATE ACCESS 2007...............................2
3. PRIMII PAŞI ÎN LUCRUL CU BAZELE DE DATE........................................2
3.1. Deschiderea şi închiderea unei aplicaţii de baze de date (Microsoft
Access 2007)........................................................................................................................2
3.2. Crearea unei baze de date.......................................................................................2
3.3. Închiderea unei baze de date...................................................................................3
3.4. Deschiderea unei baze de date................................................................................3
4. UTILIZAREA FUNCŢIEI HELP.................................................................3
5. AFIŞAREA ŞI ASCUNDEREA BARELOR DE INSTRUMENTE......................4
6. TABELE (ENTITĂŢI)................................................................................4
6.1. Tipuri de date în Microsoft Access 2007.................................................................5
6.2. Crearea unui tabel...................................................................................................6
6.3. Adăugarea, modificarea şi ştergerea înregistrărilor dintr-un tabel........................8
6.4. Modificarea structurii unui tabel............................................................................9
6.4.1. Crearea unei reguli de validare pentru un câmp......................................................................10
6.5. Ştergerea unui tabel din baza de date....................................................................11
7. MODIFICAREA ASPECTULUI UNEI FERESTRE CU DATE.......................11
7.1. Schimbarea dimensiunilor coloanelor şi liniilor...................................................12
7.2. Schimbarea ordinii de afişare a câmpurilor..........................................................12
7.3. Blocarea unui câmp pe ecran................................................................................12
7.4. Ascunderea şi reafişarea câmpurilor.....................................................................13
7.5. Liniile de grilă şi culoarea de fond.......................................................................13
7.6. Modificarea parametrilor de font pentru câmpurile din fereastră........................13
7.7. Sortarea înregistrărilor din tabel..........................................................................13
7.8. Căutarea unei valori într-un tabel.........................................................................14
7.9. Filtre......................................................................................................................15
8. INDEXAREA UNUI TABEL......................................................................15
8.1. Crearea, modificarea şi ştergerea unui index cheie primară................................16
8.2. Crearea, modificarea şi ştergerea unui index normal...........................................16
9. RELAŢII ÎNTRE TABELELE DINTR-O BAZĂ DE DATE............................17
9.1. Crearea, modificarea şi ştergerea unei relaţii între tabele....................................17
10. INTEROGĂRI..........................................................................................18
10.1. Crearea unei interogări.........................................................................................18
Access 2007 – Modul A – Pagina 40

10.1.1. Specificarea câmpurilor care vor apărea în rezultatul interogării............................................19


10.1.2. Testarea interogării...................................................................................................................19
10.1.3. Ordonarea rezultatelor după unul sau mai multe criterii.........................................................20
10.1.4. Ascunderea/reafişarea unor câmpuri din rezultat....................................................................20
10.1.5. Specificarea înregistrărilor care vor apărea în rezultatul interogării.......................................20
10.1.6. Specificarea criteriilor pentru mai multe câmpuri...................................................................22
10.2. Salvarea interogării...............................................................................................23
10.3. Modificarea unei interogări..................................................................................23
10.3.1. Ştergerea unor câmpuri din interogare.....................................................................................23
10.3.2. Adăugarea unor câmpuri la o interogare..................................................................................23
10.4. Executarea unei interogări....................................................................................23
10.5. Ştergerea unei interogări.......................................................................................23
11. FORMULARE.........................................................................................23
11.1. Crearea unui formular...........................................................................................23
11.2. Utilizarea unui formular........................................................................................24
11.3. Adăugarea şi modificarea textului din antetul sau subsolul
formularului.......................................................................................................................25
11.4. Introducerea unei imagini într-un formular..........................................................25
11.5. Modificarea unui formular....................................................................................26
11.6. Crearea unui formular prin care utilizatorul să aibă acces numai la
anumite înregistrări...........................................................................................................26
11.7. Ştergerea unui formular........................................................................................26
12. RAPOARTE.............................................................................................26
12.1. Crearea unui raport...............................................................................................27
12.2. Modificarea unui raport........................................................................................29
12.3. Adăugarea şi modificarea textului din antetul sau subsolul
raportului...........................................................................................................................29
12.4. Introducerea unei imagini într-un raport..............................................................30
12.5. Gruparea înregistrărilor după anumite câmpuri..................................................30
12.6. Crearea unui raport în care să se afişeze numai anumite înregistrări
30
12.7. Ştergerea unui raport............................................................................................31
13. TIPĂRIREACONŢINUTULUI PENTRU UN
TABEL/FORMULAR/REPORT/ O INTEROGARE...................................................31
13.1.1. Previzualizarea conţinutului....................................................................................................31
13.1.2. Tipărirea propriu-zisă...............................................................................................................32