Sunteți pe pagina 1din 61

5 BAZE DE DATE

5.1 Utilizarea aplicaţiei Access


5.1.1 Concepte generale referitoare la baze de date

Definiţia bazei de date


În Encyclopedia Britannica baza de date este definită astfel:

Prin bază de date se înţelege orice colecţie de date sau informaţii, care
este organizată special, în vederea consultării rapide a datelor de către
utilizatorul unei aplicaţii, care rulează pe un calculator. Bazele de date sunt
structurate astfel încât să faciliteze memorarea, regăsirea, modificarea şi
ştergerea datelor, prin diferite operaţii specifice. Bazele de date se pot
memora pe disc sau pe bandă magnetică, pe disc optic sau pe orice alt fel
de tip de memorare secundară1.

În Britannica Concise Encyclopedia baza de date este definită astfel:

Prin bază de date se înţelege o colecţie de date sau informaţii care sunt
organizate astfel ca ele să fie căutate şi regăsite rapid, de obicei, de către un
calculator2.

Organizarea bazei de date


În Access prima activitate a utilizatorului constă în crearea unei baze de
date (fişier de bază de date, care are extensia implicită MDB, prescurtare de la
Microsoft DataBase). În acest fişier se memorează tot ce se creează pentru
respectiva bază de date.

Tabele
Obiectele cele mai importante, memorate într-o bază de date sunt tabelele
bazei. În accepţiunea programului Access, un tabel este format dintr-un număr
de linii (rânduri) şi dintr-un număr de coloane. Prima linie a tabelului are un rol
1
Database: Any collection of data, or information, that is specially organized for rapid search and
retrieval by a computer. Databases are structured to facilitate the storage, retrieval, modification,
and deletion of data in conjunction with various data-processing operations. Databases can be
stored on magnetic disk or tape, optical disk, or some other secondary storage.
2
Database: Collection of data or information organized for rapid search and retrieval, especially
by a computer.

207
special, ea este linia de antet (cap de tabel) a tabelului. Fiecare celulă a liniei de
antet conţine un nume de câmp. Celelalte linii ale tabelului sunt articolele
(înregistrările) tabelului. Fiecărui nume de câmp îi este asociat un tip de dată şi
o dimensiune (lungime), exprimată în octeţi. Tipul unui câmp stabileşte
domeniul de valori al câmpului, adică valorile care se pot memora în câmpul
respectiv. Astfel, de exemplu, într-un câmp tip Text se pot memora până la 255
caractere (proprietatea FieldSize a câmpului are valoarea maximă 255). Într-un
câmp Number se pot memora valori numerice. Proprietatea FieldSize a
câmpului stabileşte domeniul de valori permise. Dacă, de exemplu, această
proprietate este configurată cu valoarea Byte, atunci în câmpul respectiv se pot
memora numere întregi din intervalul [0,255].

NumeCâmp1 NumeCâmp2 ... NumeCâmpn


Articolul 1
Articolul 2
...
Articolul m

Unui tabel îi pot fi adăugate nu numai articole noi, ci şi câmpuri noi, iar
unele câmpuri pot fi desfiinţate, adică structura tabelului poate fi modificată.

Atenţie: în cazul modificării structurii unui tabel, interogările,


formularele şi rapoartele care se bazează pe tabelul reproiectat trebuie
refăcute!

Exemplu:
Vom considera un tabel care are numele tblMarfa şi este destinat
gestionării produselor dintr-un magazin. Tabelul conţine următoarele cinci
nume de câmpuri:
 MarfaID (un câmp de tip AutoNumber, prin care fiecare articol al
tabelului va avea un identificator unic; acest identificator este un
număr întreg generat de programul Access, motiv pentru care
utilizatorul nu poate introduce în tabel articole care au acelaşi
identificator);
 Nume (un câmp de tip text care conţine numele unui produs);
 Cantitate (un câmp numeric care conţine cantitatea comandată de la un
furnizor din produsul respectiv);
 PretUnitar (un câmp de tip valoare monetară care conţine preţul unitar
al produsului);
 DataProcurarii (un câmp de tip dată calendaristică care conţine data
de procurare a produsului).

Acest tabel poate conţine următoarele cinci articole:

208
O bază de date poate conţine mai multe tabele. Aceste tabele, de regulă,
sunt tabele asociate (adică între ele există o anumită relaţie). Astfel, de
exemplu, un prim tabel poate conţine informaţii referitoare la categoriile de
produse existente într-un magazin (de exemplu lactate, conserve), un alt tabel
poate conţine informaţii despre produsele propriu-zise (de exemplu cantitatea
existentă în stoc din fiecare produs), iar un al treilea tabel poate conţine
informaţii referitoare la preţul unitar al produselor.

Interogări
Interogările servesc la selectarea – pe baza anumitor criterii – a anumitor
articole din tabele3. Articolele selectate pot fi afişate într-o ordine stabilită de
utilizator. Există posibilitatea combinării datelor provenite din mai multe tabele
asociate, deci rezultatele interogării pot fi vizualizate într-o singură fereastră. În
majoritatea cazurilor, programul Access permite editarea datelor afişate într-o
interogare; modificările efectuate vor fi salvate în tabelul, care a furnizat datele.

Exemplu:
În acest exemplu, interogarea având numele qryMarfa selectează articolele
tabelului tblMarfa, care au fost procurate în data de 21 decembrie 1998.
Articolele astfel selectate sunt sortate crescător în funcţie de preţul unitar al
produsului.

3
Se menţionează că o interogare poate să selecteze anumite articole din cele livrate de o altă
interogare (o interogare se bazează pe un tabel sau pe o altă interogare).

209
Formulare
Formularele servesc în primul rând pentru a facilita introducerea articolelor
unui tabel, cu ajutorul unui şablon vizibil pe ecran. Folosindu-le, este posibilă şi
navigarea între articolele deja introduse şi editarea articolelor. Formularele pot
afişa câte un singur articol odată, astfel cǎ introducerea de valori în câmpurile
articolului afişat va fi foarte simplă şi sigură. Formularele pot afişa articolele în
ordinea definită de utilizator şi permit selectarea numai a articolelor, care
îndeplinesc anumite criterii. Programul Access realizează o înlănţuire între
formular şi tabel: informaţia tastată în formular va fi memorată în tabelul
aferent formularului. Există posibilitatea utilizării unui singur formular pentru a
introduce articole, simultan, în mai multe tabele. Formularele sunt înzestrate cu
o bară de instrumente, prevăzută cu butoane de comandă pentru parcurgerea
articolelor deja introduse, precum şi cu un buton pentru introducerea unui
articol nou. Pe bară se afişează numărul articolului actual precum şi numărul
total de articole.

Exemplu:
Pentru a introduce articole în tabelul tblMarfa prezentat anterior se poate
utiliza următorul formular:

Rapoarte
Rapoartele servesc la extragerea datelor din tabele şi interogări şi la
trimiterea lor la imprimantă, sau în vederea afişării pe ecranul monitorului.
Articolele imprimate pot fi grupate şi sortate. Rapoartele pot conţine antete şi
subsoluri de pagină (afişate la începutul şi la sfârşitul fiecărei pagini, în care pot
fi introduse, de exemplu, nume de câmpuri, numărul paginii curente) precum şi
un antet şi un subsol de raport (afişate pe prima, respectiv ultima pagină a
raportului, în care se poate include, de exemplu, sigla unei instituţii sau un
rezumat al tuturor datelor, ca sumă a valorilor dintr-un câmp specificat).

210
Exemplu:
Raportul corespunzător tabelului tblMarfa poate avea aspectul alăturat. În
subsolul raportului a fost inclus un control tip etichetă şi o cutie text. Eticheta
conţine textul:
Valoarea totala =
În cutia text a fost introdusă o formulă de tipul:
= Sum( [Cantitate] * [PretUnitar])
prin care se calculează valoarea totală a produselor.

Cheia primară
Puterea sistemelor care gestionează baze de date relaţionale constă în
faptul că, în astfel de sisteme, este posibilă căutarea şi prelucrarea simultană a
informaţiilor care sunt memorate în mai multe tabele distincte, prin intermediul
diferitelor interogări, formulare şi rapoarte. Pentru realizarea tratării simultane a
informaţiilor provenite din mai multe tabele distincte, fiecare tabel trebuie să
aibă cel puţin un câmp (sau un număr de câmpuri) care să conţină o valoare
unică pentru fiecare articol din tabel. Astfel, prin conţinutul acestui câmp
fiecare articol memorat în tabel poate fi identificat în mod unic. Informaţia
memorată în câmpul respectiv este denumită valoarea cheii primare (sau
valoarea cheii principale), iar despre câmp se spune că are atributul de cheie
primară a tabelului. După ce utilizatorul desemnează câmpul care va avea
atributul de cheie primară a tabelului, programul Access va supraveghea
permanent informaţia care se introduce în câmpul respectiv. Astfel, în cazul în
care utilizatorul introduce într-un câmp care are atributul de cheie primară o
valoare care deja a fost utilizată sau nu introduce nici o informaţie într-un astfel
de câmp, programul Access sesizează imediat această greşeală şi emite un
mesaj de eroare, cerând remedierea erorii.

211
Atributul de cheie primară de regulă se atribuie unui câmp care are tipul
AutoNumber, deoarece informaţiile conţinute în acest câmp sunt generate de
programul Access: pentru fiecare articol nou se va genera automat un nou
număr de identificare.
Dacă într-un tabel există un anumit câmp (de exemplu, de tip text sau de
tip numeric), care întotdeauna conţine valori unice, atunci câmpul respectiv
poate avea atributul de cheie primară. Să presupunem că într-un tabel cu
evidenţa populaţiei există un câmp, în care se memorează codul numeric
personal (CNP) al unei persoane. Câmpul respectiv poate avea atributul de
cheie primară, deoarece nu există două persoane care au acelaşi CNP. Câmpul
care conţine informaţii referitoare la numele persoanei nu ar fi convenabil
pentru atributul de cheie primară a tabelului, deoarece pot exista două persoane
cu nume identice.
În situaţiile în care într-un tabel nu poate fi găsit un câmp, care să conţină
întotdeauna valori unice, atributul de cheie primară poate fi asociat la două sau
la mai multe câmpuri, prin care se poate realiza identificarea unică a articolelor.
Într-un tabel de evidenţă a populaţiei, asocierea atributului de cheie
primară pentru câmpurile referitoare la nume, data de naştere şi domiciliu
(probabil, dar nu tocmai fiabil) ar putea fi suficiente pentru identificarea unui
articol din tabel.

Indexarea
Un câmp al unui tabel este "indexat" atunci, când se cere ca programul
Access să ataşeze câmpului respectiv anumite tabele interne, prin care se
realizează accelerarea căutărilor, sortărilor, grupărilor şi filtrărilor de articole.

Exemplu:
Să considerăm un tabel care conţine informaţii referitoare la angajaţii unei
instituţii, având structura următoare:
 AngajatID (de tip AutoNumber);
 NumeDeFamilie (de tip Text);
 Prenume (de tip Text);
 Salar (de tip Number, Long Integer).

Tabelul conţine 5 articole:

AngajatID NumeDeFamilie Prenume Salar


1 Ionescu Vasile 1200000
2 Constantinescu Maria 1300000
3 Vasilescu Petre 1500000
4 Rădulescu Rodica 1000000
5 Dumitrescu Carmen 1400000

212
Dacă se cere indexarea în ordine crescătoare a câmpului NumeDeFamilie,
atunci programul Access va crea un tabel intern cu 5 intrări, de forma
următoare:
AngajatID NumeDeFamilie
1 2 Constantinescu
2 5 Dumitrescu
3 1 Ionescu
4 4 Rădulescu
5 3 Vasilescu

Prin indexarea câmpului NumeDeFamilie căutările, sortările, grupările şi


filtrările referitoare la numele de familie al angajaţilor vor fi foarte rapide.
Într-un tabel pot fi indexate mai multe câmpuri. Astfel, de exemplu, se
poate cere crearea unui prim index referitor la nume de familie, al doilea index
referitor la prenume şi un al treilea index referitor la salariu.
Indecşii sunt creaţi când se salvează tabelul. Adăugarea sau ştergerea
indecşilor aferenţi unui câmp pot fi realizate oricând, prin modificarea
proprietăţii Indexed. Ori de câte ori se adaugă sau se şterg articole din tabel sau
se modifică conţinutul anumitor articole, indecşii vor fi actualizaţi automat.
Indexarea simultană a mai multor câmpuri poate fi însă şi dezavantajoasă,
deoarece actualizarea unui tabel de mare dimensiune va fi costisitoare în timp.
În general, un câmp al unui tabel este indexat atunci, când:
 câmpul este folosit cu mare frecvenţă în operaţiilor de sortare, căutare,
filtrare şi grupare;
 valorile introduse în câmpul respectiv aparţin unui domeniu extins.

Tabele asociate într-o bază de date


Proiectarea eficientă a unei baze de date implică separarea datelor în mai
multe tabele, fiecare tabel având o temă bine definită. Prin separarea datelor în
mai multe tabele, cu teme unice, se evită repetarea informaţiei şi utilizatrea
datelor redondante, astfel cǎ se minimizează spaţiul necesar memorării datelor.
Datele izolate în tabele distincte, cu teme unice, în momentul prelucrării lor
(când se creează interogări, formulare şi rapoarte), trebuie să fie reunite. În
operaţia de reunire a tabelelor se va comunica programului Access legăturile
logice existente între tabele. Astfel va fi posibilă tratarea simultană a
informaţiilor, care provin din mai multe tabele. Primul pas în reunirea
informaţiilor provenite din mai multe tabele constă în definirea relaţiilor între
tabelele bazei de date. După ce au fost definite aceste relaţii, se poate trece la
pasul următor, în care se creeazǎ obiecte: interogări, formulare şi rapoarte.
Aceste obiecte permit afişarea simultană a informaţiilor provenite din mai
multe tabele izolate.
În unele programe mai vechi de gestiune a bazelor de date relaţiile între
tabele au existat numai în mintea programatorului, ele nu au fost declarate

213
concret în program. Programul Access – fiind un program care prelucrează
baze de date relaţionale – pune la dispoziţia utilizatorului metode concrete, prin
care pot fi stabilite relaţii între tabele, astfel cǎ devine posibilă supervizarea şi
analiza simultană a informaţiilor. În marea majoritate a cazurilor între două
tabele ale unei baze de date se stabilesc relaţii de tipul "de la unu la mai mulţi".
Există şi alte tipuri de relaţii: "de la mai mulţi la mai mulţi" şi "unu la unu".

Relaţia de tipul "de la unu la mai mulţi"


Să presupunem că o unitate comercială doreşte păstrarea informaţiilor
referitoare la activitatea societăţii. Tabelul care urmează să fie proiectat ar
trebui să conţine două categorii de informaţii:
 informaţii despre clienţi (numele, adresa şi telefonul clienţilor);
 informaţii despre tranzacţii (data şi valoarea comenzilor).

O primă variantă – de altfel eronată – ar fi crearea unui singur tabel, care să


conţină toate datele referitoare la activitate. Acest tabel ar avea următoarele
şapte câmpuri:
 ActID, identificatorul activităţii, de tip AutoNumber, cheie primară a
tabelului, prin care se identifică în mod unic fiecare articol din tabel;
 NumeClient, de tip text, care conţine numele clientului;
 AdresaClient, de tip text, care conţine adresa clientului;
 TelefonClient, de tip Number de dimensiune Long Integer, care conţine
numărul de telefon al clientului;
 DataComenzii, de tip Date/Time, care conţine data efectării comenzii;
 ValoareaComenzii, de tip Number de dimensiune Long Integer, care
conţine valoarea comenzii.

Tabelul astfel proiectat, în care au fost introduse 6 articole, ar putea să aibă


aspectul următor:

ActID Nume Adresa Telefon Data Valoarea


Client Client Client Comenzii Comenzii
1 Popescu Cluj 123456 08/31/02 1000000
2 Ionescu Dej 468579 09/01/02 2000000
3 Anton Gherla 579680 09/01/02 1400000
4 Popescu Cluj 123456 09/01/02 3000000
5 Anton Gherla 579690 10/01/02 4500000
6 Popescu Cluj 123456 10/01/02 1300000

În aceste condiţii, pentru un client cu care se fac tranzacţii de mai multe


ori, aceeaşi informaţie (nume, adresa, număr de telefon) trebuie introdusă de
mai multe ori. În afară de faptul, că la reintroduceri repetate pot apare erori,
datele referitoare la un client se pot modifica (de exemplu schimbare de adresă,

214
număr de telefon). În cazul modificării datelor referitoare la un client tabelul
întreg, pe nivel de articol, trebuie actualizat.
O metodă mult mai bună este alcătuirea a două tabele separate, prin care se
evită repetarea informaţiei.
Primul tabel – având numele tblClienti – conţine informaţii despre clienţi.
Acest tabel are patru câmpuri:
 ClientID (identificatorul clientului, de tip AutoNumber, cheie
primară);
 NumeClient (de tip text);
 AdresaClient (de tip text);
 TelefonClient(de tip Number, de dimensiune Long Integer).

Tabelul conţine următoarele 3 articole:

ClientID Nume Client Adresa Client Telefon Client


1 Popescu Cluj 123456
2 Ionescu Dej 468579
3 Anton Gherla 579680

Tabelul al doilea, având numele tblComenzi, conţine informaţii despre


comenzi. Acest tabel are patru câmpuri:
 ComandaID (identificatorul comenzii, de tip AutoNumber, cheie
primară);
 ClientID (de tip Number, având dimensiunea Long Integer);
 DataComenzii (de tip Date/Time);
 ValoareaComenzii (de tip Number, având dimensiunea Long Integer).

În acest tabel, câmpul ClientID nu mai este o cheie primară, ci serveşte la


identificarea clientului cu care s-a făcut tranzacţia respectivă (adică indicele
aferent clientului în tabelul tblClienti). Valorile
introduse în acest câmp pot apare de mai multe
ori (nu mai sunt valori unice): în cazul în care cu
acelaşi client s-au făcut mai multe tranzacţii,
acelaşi identificator de client va apare de mai
multe ori în câmpul ClientID. Acest câmp este
denumit cheia străină a tabelului tblComenzi.
În cazul nostru, identificatorul clientului
Popescu, având valoarea 1, apare atât în linia 1,
cât şi în liniile 4 şi 6, deoarece cu acest client s-au
făcut trei tranzacţii. Identificatorul clientului
Ionescu, având valoarea 2, apare o singură dată,
în linia 2, deoarece cu acest client s-a efectuat o singură tranzacţie.

215
Identificatorul clientului Anton, având valoarea 3, apare atât în linia 3, cât şi în
linia 5, deoarece cu acest client s-au făcut două tranzacţii. Schema relaţiei este
cea din figura alǎturatǎ.
Vorbind mai general, o cheie străină a unui tabel este un câmp care
asociază (leagă) articolul actual al tabelului respectiv cu cheia primară a unui
alt tabel. Tabelul tblComenzi va conţine următoarele 6 articole:

ComandaID ClientID Data Comenzii Valoarea Comenzii


1 1 08/31/02 1000000
2 2 09/01/02 2000000
3 3 09/01/02 1400000
4 1 09/01/02 3000000
5 3 10/01/02 4500000
6 1 10/01/02 1300000

Între tabelele tblClienti şi tblComenzi s-a realizat o relaţie "de la unu la


mai mulţi": unui articol oarecare din tblClienti pot să-i corespundǎ mai multe
articole din tabelul tblComenzi (adică un client poate să facă mai multe
comenzi), dar un articol oarecare din tblComenzi este asociat numai la un
singur articol din tblClienti (adică aceeaşi comandă nu poate fi dată simultan de
mai mulţi clienţi). Această relaţie poate fi reprezentată prin figura alăturată.

Într-un context mai general, într-o relaţie de tipul "de la unu la mai mulţi"
(one-to-many), un articol din tabelul A poate avea mai multe articole asociate în
tabelul B, dar un articol din tabelului B poate avea un singur articol asociat în
tabelul A (tabelul A se află în partea "unu" a relaţiei, iar tabelul B în partea "mai
mulţi" a relaţiei). Tabelul A este denumit tabel primar, iar tabelul B este
denumit tabel asociat. Relaţia de tip "de la unu la mai mulţi" este relaţia
utilizată cel mai frecvent în gestiunea bazelor de date.

Relaţia de tipul "de la mai mulţi la mai mulţi"


Într-o relaţie de tipul "de la mai mulţi la mai mulţi" (many-to-many), un
articol din tabelul A poate avea mai multe articole asociate în tabelul B, şi un
articol din tabelul B poate avea mai multe articole asociate în tabelul A. Acest
tip de relaţie poate fi reprezentat numai atunci când se defineşte şi un al treilea
tabel C, denumit tabel de joncţiune. Rolul acestui tabel este spargerea relaţiei
"de la mai mulţi la mai mulţi" în două relaţii de tipul "de la unu la mai mulţi".

216
Fie TabelAID (de tip AutoNumber) cheia primară a tabelului A, iar
TabelBID (de tip AutoNumber) cheia primară a tabelului B. Cheia primară a
tabelului A şi cheia primară a tabelului B, împreună, definesc biunivoc o
pereche de articole provenite din cele două tabele. Cheia primară a tabelului de
joncţiune C va fi formată din două câmpuri, fiecare de tip Number, dimensiune
Long Integer. Primul câmp al cheii primare va conţine cheia primară a tabelului
A, iar câmpul al doilea al cheii primare va conţine cheia primară a tabelului B.
Aceste câmpuri vor juca şi rolul de chei străine corespunzătoare tabelelor A şi
B. Astfel relaţia de tipul "de la mai mulţi la mai mulţi" este transformată în
două relaţii de tipul "de la unu la mai mulţi": o relaţie de tipul "de la unu la mai
mulţi" între tabelul A şi C şi o altă relaţie de tipul "de la unu la mai mulţi" între
tabelul B şi C.

Relaţia de tipul "unu la unu"


Într-o relaţie de tipul "unu la unu" (one-to-one) fiecare articol din tabelul A
poate avea un singur articol asociat în tabelul B şi invers, fiecare articol din
tabelul B poate avea un singur articol asociat în tabelul A. Acest tip de relaţie
este utilizat destul de rar, deoarece informaţiile asociate în acest fel, de fapt pot
fi memorate în acelaşi tabel. Relaţia de tipul "unu la unu" este utilizată în
următoarele cazuri:
 numărul câmpurilor fiind foarte mare4 se doreşte divizarea tabelului în
mai multe subtabele;
 se doreşte izolarea unor câmpuri ale unui tabel, din motive de
siguranţă; câmpurile care se izolează se vor memora într-un alt tabel.

Două tabele se pot pune în relaţia "unu la unu" dacă cele două tabele
folosesc aceeaşi cheie primară (adică domeiul de valori ale cheilor primare
coincid) şi cheile respective sunt puse în corespondenţă (sunt asociate).

Exemplu:
Tabelul tblInfo1 conţine un set
de date despre judeţe. Câmpurile
acestui tabel sunt:

4
Într-un tabel Access numărul maxim de câmpuri este limitat la 255.

217
 JudetID, de tip Text de lungime 2 (identificator de judeţ, de exemplu
BH, CJ, SJ, cheia primară a tabelului);
 NumeJudet, de tip Text, dimensiune 50;
 NumarOrase, de tip Number, dimensiune Integer;
 NumarComune, de tip Number, dimensiune Integer.

Tabelul tblInfo2 conţine un alt set de date despre judeţe. Câmpurile acestui
tabel sunt:
 JudetID, de tip Text de dimensiune 2 (identificator de judeţ, cheia
primară a tabelului);
 Suprafata, de tip Number, dimensiune Single;
 Populatia, de tip Number, dimensiune Single (exprimată în mii de
locuitori).

Tabelele sunt asociate prin intermediul cheilor primare JudetID. Articolele


tabelului tblInfo1 sunt:
JudetID NumeJudet NumarOrase NumarComune
BH Bihor 9 86
CJ Cluj 6 74
SJ Salaj 4 55

Articolele tabelului tblInfo2 sunt:


JudetID Suprafata Populatia
BH 7544 620
CJ 6674 720
SJ 3864 256

Restricţii referitoare la legăturile între tabele


Fereastra de definire a relaţiilor între diferite tabele ale bazei de date
Relationships este prevăzută şi cu o casetă de selectare etichetată cu Enforce
Referential Integrity, prin care utilizatorul poate să stabilească tipul de
asociere predefinit.
Caseta de selectare Enforce Referential Integrity (impunerea integrităţii
referenţiale a relaţiei) poate fi selectată numai atunci, când sunt îndeplinite
următoarele trei condiţii:
 câmpul care a fost selectat din tabelul primar al relaţiei are atributul de
cheie primară (sau are un index unic);
 câmpurile puse în corespondenţă au acelaşi tip5;

5
Excepţie: un câmp de tip AutoNumber poate fi asociat cu un câmp de tip Number, de dimensiune
Long Integer (dimensiunea poate fi configurată cu ajutorul proprietăţii Field Size).

218
 atât tabelul primar, cât şi tabelul asociat sunt memorate în aceeaşi bază
de date.
În aceste condiţii impunerea integrităţii referenţiale a relaţiei va asigura
următoarele trei verificări, realizate automat de programul Access:
 În câmpul cheie străină a tabelului asociat pot fi introduse numai
valorile, care aparţin mulţimii de valori a cheii primare din tabelul
primar. Se permite, însă, introducerea unei valori nule în câmpul cheie
străină, ceea ce înseamnă, că se permite necompletarea valorii din
cheia străină. Dacă cheia străină conţine o valoare nulă, atunci
articolul respectiv este interpretat ca fiind un articol neasociat. Astfel,
de exemplu, dacă cheia primară conţine valorile 1, 2, 3 şi 4, atunci
introducerea valorii 5 în cheia străină va declanşa o eroare
(necompletarea cheii străine însă nu va cauza nici o eroare). În cazul
nerespectării acestei reguli programul Access va afişa o fereastră de
eroare.
 Dacă unui articol din tabelul primar îi corespund unul sau mai multe
articole din tabelul asociat, atunci utilizatorul nu poate şterge sau
modifica articolul respectiv din tabelul primar. Dacă utilizatorul totuşi
încearcă efectuarea acestei operaţii, atunci programul Access va afişa
o fereastră de eroare. Această verificare poate fi abrogată, ceea ce va
permite ştergerea în cascadă a articolelor asociate: se va selecta caseta
de selectare Cascade Delete Related Records (ştergerea în cascadă a
articolelor asociate).
 Dacă unui articol din tabelul primar îi corespund unul sau mai multe
articole din tabelul asociat, atunci valoarea cheii primare nu poate fi
modificată (editată). În cazul în care utilizatorul încearcă să modifice
valoarea cheii primare, programul Access va afişa o fereastră de
eroare. Această verificare poate fi abrogată, ceea ce va permite
editarea valorii memorate în cheia primară şi actualizarea automată, în
cascadă, a valorilor din câmpurile străine asociate. În acest scop se va
selecta caseta de selectare Cascade Update Related Fields
(actualizarea în cascadă a câmpurilor asociate). Se menţionează faptul,
că în cazul în care cheia primară are tipul AutoNumber, utilizatorul nu
poate să modifice sub nici o formă valoarea cheii primare (doarece
numai programul Access poate gestiona valorile memorate în cheia
primară).

5.1.2 Primii paşi cu programul Access

Lansarea în execuţie şi închiderea programului Access

219
Pentru lansarea în execuţie a programului Access, prima dată se va acţiona
butonul de comandă Start, se va indica comanda All Programs, şi în
continuare se va aplica un clic pe linia de comandă Microsoft Access.
Pentru a închide programul Access din meniul File se va da comanda Exit
sau se va aplica un clic pe butonul de comandă (Close) situat în colţul
dreapta sus al feresterei Microsoft Access.
Deschiderea unei baze de date care a fost creată anterior
Pentru deschiderea unei baze de date, salvată anterior, din meniul File se
va da comanda Open. În fereastra de dialog afişată se va specifica:
 unitatea şi dosarul în care a fost salvată baza de date (prin deschiderea
listei combinate Look in);

 numele bazei de date care se deschide (prin cutia text File name);

 tipul (formatul) bazei de date care se deschide (prin lista combinată


Files of type):

Pentru deschiderea bazei de date specificate se va acţiona butonul de


comandă Open.
La un moment dat, se pot deschide mai multe baze de date, prin lansarea
multiplă a comenzilor Open sau New.

Crearea unei baze de date noi


Pentru crearea unei baze de date noi, din meniul File se va da comanda
New. În urma acestei acţiuni, lângă marginea din dreapta a ecranului se afişează
panoul de activitate (taskbar), în care se va efectua un clic pe comanda

(Blank Database, bază de date necompletată).


Se afişează fereastra de dialog etichetată cu File New Database
specializată în crearea bazelor de date noi.
Cu ajutorul listei combinate Save in (salvare în) se specifică unitatea şi
dosarul în care se va crea baza de date:

220
Numele bazei de date care se creează se stabileşte cu ajutorul cutiei text
File name (nume fişier). Numele implicit al bazei de date noi este db1.mdb.

Tipul bazei de date se selectează din lista combinată Save as type (tipul
implicit este Microsoft Access Databases, de extensie mdb).

Crearea efectivă a bazei de date noi se realizează prin efectuarea unui clic
pe butonul de comandă Create (creare).

Salvarea unei baze de date


Când se creeazǎ o bază de date, ea este salvată automat când i se
stabileşte numele. După fiecare modificare a structurii unui tabel, formular
sau a unui alt obiect, programul Access nu permite închiderea obiectului
sau a bazei de date fără lansarea în execuţie a operaţiei de salvare. Astfel,
pe ecran se va afişa întotdeauna o fereastră de avertisment care cere
confirmarea utilizatorului privind efectuarea operaţiei de salvare. Pentru
realizarea operaţiei de salvare se dă comanda Yes. În marea majoritate a
cazurilor (de exemplu în procesul de introducere a noilor articole într-un
tabel) modificările se salvează automat. Acesta este motivul pentru care
comenzile de salvare Save şi Save As (meniul File) sunt aproape tot timpul
dezactivate.

Utilizarea ajutorului
Programul Access este prevăzut cu un sistem
de ajutor foarte detaliat. Acest ajutor poate fi afişat
prin meniul Help, cu ajutorul comenzilor
Microsoft Access Help (tasta de comenzi rapide
F1) sau Show the Office Assistant (afişarea
asistentului Office).
Dacă se dă prima comandă, atunci se afişează
imaginea asistentului (de exemplu o agrafă
animată) şi o cutie text în care se formulează o
întrebare. Căutarea informaţiilor referitoare la
întrebarea formulată se realizează prin acţionarea butonului Search. Dacă se
dă comanda a doua, atunci se afişează imaginea asistentului. Dacă se

221
efectuează un clic pe asistent, atunci apare şi cutia test corespunzătoare
asistentului în care se va tasta întrebarea şi se va lansa în execuţie procesul de
căutare. Ascunderea asistentului se realizează prin comanda Hide the Office
Assistant a meniului Help.

Închiderea unei baze de date


Pentru închiderea unei baze de date se pot utiliza mai multe metode:
 din meniul File se dă comanda Close (închidere);
 în fereastra de baze de date Database se efectuează un clic pe butonul
Close , care este situat în colţul dreapta sus al ferestrei;

 se efectuează un clic pe simbolul grafic al meniului control , situat


în colţul stânga sus al ferestrei bazei de date şi din meniul afişat se
alege comanda Close;
 se efectuează un dublu clic pe simbolul grafic al meniului control;
 se acţionează combinaţia de taste CTRL + F4;
 se acţionează combinaţia de taste CTRL + W.

Modurile de vizualizare pentru un tabel, o interogare, un formular


sau un raport
Fiind deschis un tabel, o interogare, un formular sau un raport, modurile de
vizualizae ale obiectului respectiv se pot selecta prin comenzile meniului View.

Obiect Modurile de vizualizare


Tabel  Design View (modul de vizualizare tip proiect)
 Datasheet View (modul de vizualizare tip foaie de date)
Interogare  Design View (modul de vizualizare tip proiect)
 SQL View (vizualizarea instrucţiunii SQL corespunzătoare
interogării)
 Datasheet View (modul de vizualizare tip foaie de date)
Formular  Design View (modul de vizualizare tip proiect)
 Datasheet View (modul de vizualizare tip foaie de date)
Raport  Design View (modul de vizualizare tip proiect)
 Print Preview (modul de vizualizare înainte de imprimare)

Afişarea/ascunderea barelor de instrumente


Barele de instrumente ale
programului Access se pot
afişa/ascunde, în funcţie de
preferinţele utilizatorului. În acest
scop, din meniul View se indică
submeniul Toolbars; în urma

222
acestei acţiuni se afişează un meniu cu numele barelor de instrumente
accesibile programului de gestiune a bazelor de date. Numele barelor afişate pe
ecran sunt precedate de caractere de "bifare". Pentru a afişa o bară de
instrumente, neafişată încă, se va efectua un clic pe numele barei dorite. Pentru
a ascunde o bară, deja afişată, de asemenea se va aplica un clic pe numele barei
respective. În exemplul alăturat sunt afişate barele de instrumente Table
Datasheet şi Web.

5.2 Tabele
5.2.1 Operaţiile principale

Crearea şi salvarea unui tabel


 Dacă este cazul, se cuplează în fereastra bazei de date Database. Se
menţionează faptul că, prin acţionarea tastei F11, din orice fereastră se
poate trece în fereastra bazei de date.
 În fereastra bazei de date Database se efectuează un clic pe butonul

(Tables) iar în fereastra afişată se execută un dublu clic pe


înscripţia Create table in Design View (crearea tabelului în modul de
vizualizare tip proiect). În urma acestei acţiuni se afişează fereastra de
proiectare a tabelului.

În bara de titlu a ferestrei apare numele implicit al tabelului (Table1).


Fereastra are trei coloane:

223
– Field Name (numele câmpului);
– Data Type (tipul datei);
– Description (descriere).
În partea inferioară a ferestrei de dialog apare o subfereastră etichetată
cu Field Properties (proprietăţile câmpului). În colţul dreapta jos al
ferestrei se afişează un ajutor, care se adaptează la situaţia actuală.
Cursorul de text (liniuţa verticală sclipitoare) apare în celula din colţul
din stânga sus, în prima celulă liberă a coloanei Field Name.
 În prima celulă liberă a coloanei Field Name se tastează numele
câmpului. Lungimea maximă a unui nume de câmp este 64 de
caractere. Pot fi utilizate litere (minuscule, majuscule, între care nu se
face distincţie în prelucrare), cifre, spaţii şi diferite caractere speciale,
cu excepţia punctului (.), semnului de exclamare (!), accentului grav
(`) şi parantezelor pătrate ([ ]). După introducerea numelui câmpului se
trece în coloana Data Type (prin tasta TAB sau printr-un clic).
 În momentul în care se ajunge în coloana Data Type, conţinutul celulei
se transformă în tipul implicit de date Text. În partea din dreapta a
celulei apare un buton (săgeată jos), care indică existenţa unei liste
combinate. Dacă nu se doreşte folosirea tipului implicit de date Text,
atunci printr-un clic aplicat pe buton se deschide lista care conţine
toate tipurile de date admise de programul Access, după care printr-un
nou clic se selectează tipul dorit. Tipurile cele mai uzuale sunt: Text,
Number (număr), Date/Time (date calendaristice/ore exacte), Currency
(monedă), AutoNumber (număr automat sau AutoNumerotare) şi
Yes/No (da/nu). După introducerea tipului de câmp se trece în coloana
Description.
 În coloana Description se introduce o scurtă descriere a informaţiei
care va fi memorată în câmpul actual. Este recomandată completarea
celulei de descriere (deşi este opţională).
 Dacă este cazul, cu ajutorul subferestrei Field Properties se
configurează proprietăţile câmpului (de obicei se configurează
proprietăţile Field Size şi Format).
 Dacă tabelul trebuie să conţinǎ şi alte câmpuri, atunci se vor repeta cei
patru paşi precedenţi.
 Se stabileşte cheia primară a tabelului. Valorile depuse într-un câmp cu
atributul cheie primară permit identificarea unică a articolelor din
tabel. În acest scop se efectuează un clic pe numele câmpului, care va
fi cheia primară a tabelului şi se acţionează butonul de comandǎ

Primary Key .

224
Variantă: din meniul Edit se dă comanda Primary Key. În urma
acestei acţiuni în stânga numelui câmpului respectiv va apare un
simbol de cheie.
 Se salvează tabelul, prin aplicarea unui clic pe butonul de Save
(salvare) . La
prima salvare a
tabelului se va afişa o
fereastră de dialog
etichetată cu Save As
(salvare sub nume).
Variantă: din meniul File se dă comanda Save. În cutia text Table
Name se introduce numele tabelului, după care se dă comanda OK.
Tabelul astfel salvat încă nu conţine nici un articol (a fost salvată doar
structura tabelului).

Observaţii:
 Pentru introducerea de informaţii în tabelul salvat (adică pentru a
completa liniile tabelului, în vederea generării diferitelor articole) se
va comuta în modul de vizualizare de tip foaie de date Datasheet
(meniul View, comanda Datasheet View).
 Când se lucrează cu tabele, programul Access pune la dispoziţia
utilizatorului două moduri de vizualizare: Design View (tip proiect) şi
Datasheet View (tip foaie de date). Pentru a comuta între modul de
vizualizare de tip proiect şi modul de vizualizare de tip foaie de date
din meniul View (vizualizare) se selectează fie comanda Design View
(modul de vizualizare tip proiect), fie comanda Datasheet View
(modul de vizualizare tip foaie de date), în funcţie de modul curent de
vizualizare.
 Configurarea proprietăţii Field Size (dimensiune de câmp). În cazul
câmpurilor de tip text, proprietatea Field Size stabileşte numărul
maxim de caractere care pot fi introduse în câmpul respectiv. Valoarea
implicită a acestei proprietăţi este egală cu 50, iar valoarea maximă
este 255. În cazul câmpurilor de tip număr, proprietatea Field Size
stabileşte domeniul de valori numerice care se pot memora în câmpul
respectiv. Această proprietate este configurată de obicei cu valorile
Byte, Integer, Long Integer, Single şi Double. Valoarea implicită este
Long Integer. Domeniile corespunzătoare acestor valori sunt
următoarele:
Byte: Numere întregi nenegative din intervalul [0 ; 255]
Integer: Numere întregi din intervalul [–32.768 ; 32.767]
Long Integer: Numere întregi din intervalul [-2.147.483.648 ; 2.147.483.647]
Single: Numere cu zecimale, din intervalul [–3,4*1038 ; 3,4*1038]

225
Double: Numere cu zecimale, din intervalul [–1,7*10308 ; 1,7*10308]

 Configurarea proprietăţii Format (formatare). În cazul datelor de tip


număr, dată calendaristică/oră şi valori monetare, proprietatea Format
stabileşte modul în care programul Access va afişa (formata)
informaţiile introduse în câmp. Această proprietate se referă numai la
modul de afişare a datei, nu şi la modul de memorare al ei. Formatele
de afişare depind de tipul câmpului.

Exemplu:
În modul de vizualizare tip proiect, tabelul următor, salvat sub numele
tblJudet , are aspectul:

Cheia primară a tabelului este câmpul JudetID, de tip Text (în stânga
numelui acestui câmp apare un simbol cheie). Să presupunem că în acest tabel
s-au introdus un număr de articole. În modul de vizualizare de tip foaie de date
aspectul tabelului va fi următorul:

Adăugarea articolelor noi într-un tabel


 În fereastra de baze de date Database se efectuează un clic pe butonul

(Tables) iar în fereastra afişată se execută un clic pe numele


tabelului, după care se dă comanda (Open). Tabelul se
afişează în modul de vizualizare tip foaie de date.
 Se execută un clic pe prima celulă goală din prima coloană 6. Variantă:
efectuarea unui clic pe butonul de comandă (New Record).

6
Nu se pot introduce articole noi între articole create anterior. Articolele noi întotdeauna apar la
sfârşitul tabelului.

226
 Se tastează valoarea corespunzătoare primului câmp. Pentru a trece la
câmpul următor se acţionează tasta TAB sau se efectueazǎ un clic pe
câmpul respectiv.
 După ce a fost introdusă valoarea corespunzătoare ultimului câmp al
articolul, din nou se apasă tasta TAB. Cursorul de text se deplasează
pe primul câmp din linia următoare, de unde se poate începe
introducerea unui articol nou.

Introducerea directă a articolelor tabelului nu este cea mai bună metodă.


Mult mai eficientă este crearea unui formular specializat în introducerea
datelor.

Navigare între articolele unui tabel


Butoanele barei de navigare, situate în partea inferioară a ferestrei de
vizualizare tip foaie de date a unui tabel, permit o deplasare rapidă între
articolele tabelului respectiv. Funcţia butoanelor din bara de navigare este
centralizată în schema de mai jos:

Ştergerea articolelor unui tabel


Tabelul fiind afişat în modul de vizualizare tip foaie de date, se navighează
la articolul respectiv (sau se efectuează un clic într-o celulă arbitrară a
articolului). În continuare din meniul Edit se dă comanda Delete Record.
Variantă: se efectuează un clic pe butonul de comandă (Delete Record). În
urma acestor acţiuni se afişează o fereastră în care se care validarea acţiunii de
ştergere (articolul şters nu poate fi recuperat). Validarea ştergerii se realizează
prin Yes, anularea ei prin No.

Adăugarea unui câmp nou unui tabel existent


 Se afişează tabelul în modul de vizualizare tip proiect.

227
 Se efectuează un clic pe selectorul de linie al câmpului, înaintea căruia
se depune noul câmp. În urma acestei acţiuni întreaga linie va fi
selectată (linia va apare în video invers).

 Se efectuează un clic pe butonul Insert Rows . Variantă: din meniul


Insert se dă comanda Rows. În urma acestei acţiuni deasupra liniei
selectate se creează o nouă linie. În linia creată se defineşte numele,
tipul şi descrierea câmpului creat.
 După ce s-au introdus toate informaţiile necesare se va da comanda de
salvare a tabelului prin butonul de comandă (Save).

Ştergerea unui câmp dintr-un tabel creat anterior


 Se afişează tabelul în modul de vizualizare tip proiect.
 Se efectuează un clic pe selectorul de linie al câmpului care se va
şterge.

 Se efectuează un clic pe butonul Delete Rows . Variante: Din


meniul Edit se dă sau comanda Delete Rows, sau comanda Delete.

Editarea datelor memorate într-un câmp al unui articol

În fereastra bazei de date Database se efectuează un clic pe butonul


(Tables) iar în fereastra afişată se execută un clic pe numele tabelului, după care
se dă comanda (Open).
Pentru editarea unei date memorate într-un câmp se execută un clic în
interiorul celulei aferente câmpului. În locaţia respectivă va apare cursorul de
text (care are forma unei liniuţe verticale sclipitoare). Cursorul mouse-ului va
avea forma unei litere I. Dacă se doreşte înlocuirea întregii valori conţinute în

228
celulă, atunci se va muta cursorul mouse-ului în partea din stânga a celulei. La
o poziţionare corectă, cursorul de mouse va avea forma unui semn plus: . În
acest moment se va executa un clic, şi ca urmare, conţinutul celulei este selectat
automat şi este afişat în video invers.
Se tastează textul care urmează să fie inserat. Dacă se apasă tasta
Backspace, atunci se va şterge caracterul din stânga cursorului de text. Dacă se
apasă tasta Delete, atunci se va şterge caracterul din dreapta cursorului de text.
Pentru anularea modificărilor efectuate în câmpul actual se va apăsa tasta
Esc. Dacă se acţionează din nou tasta Esc, atunci toate modificările efectuate în
articolul actual vor fi anulate. În momentul trecerii la un alt articol programul
Access va salva automat toate modificările efectuate în articolul curent.

Utilizarea comenzii Undo


În procesul de editare de date de multe ori se fac greşeli (de exemplu
accidental se şterge conţinutul unui câmp al unui articol şi se trece la un alt
articol). Anularea modificărilor eronate poate fi realizată cu ajutorul comenzii
Undo (meniul Edit). Variantă: se efectuează un clic pe butonul de comandă
(Undo).

Ştergerea unui tabel


Un tabel inutil poate fi şters. În acest scop în fereastra bazei de date se

efectuează un clic pe butonul (Tables), iar în fereastra afişată se execută


un clic pe numele tabelului respectiv. În continuare, din meniul Edit se dă
comanda Delete.
Variantă: se efectuează un clic pe butonul (Delete, afişat în bara de
instrumente a bazei de date). Operaţia de ştergere trebuie confirmată de
utilizator. Pentru confirmarea ştergerii tabelului, în fereastră afişată se va
acţiona butonul de comandă Yes.

Salvarea şi închiderea unui tabel


Un tabel modificat este salvat automat de Access. Există posibilitatea de a
cere salvarea tabelului de către utilizator. În acest scop se va efectua un clic pe
butonul de comandă (Save, afişat în bara de instrumente a programului
Access). Variantă: în meniul File se dă comanda Save.
Pentru închiderea unui tabel se va executa un clic pe butonul Close ,
afişat în colţul dreapta sus al ferestrei aferente tabelului.
Variantă: în meniul File se dă comanda Close.

229
5.2.2 Definirea cheilor unui tabel

Definirea cheii primare a unui tabel


 Se deschide tabelul în modul de vizualizare tip proiect.
 Se selectează câmpul care se va utiliza pentru cheia primară (sau
câmpurile utilizate pentru cheia primară). Pentru selectarea unui singur
câmp se va efectua un clic pe selectorul de linie al câmpului respectiv7.
Pentru selectarea mai multor câmpuri se apăsă tasta CTRL şi tasta
fiind ţinută apăsată, se vor efectua clicuri succesive pe selectoarele de
linii ale câmpurilor respective.
 Din meniul Edit se dă comanda Primary Key (sau în bara de
instrumente de proiectare a tabelelor se face un clic pe simbolul grafic
(Primary Key). În stânga numelui câmpului (câmpurilor) va apare
un simbol de forma unei chei.
Să presupunem că a fost definit un tabel nou, în care nici un câmp nu are
atributul de cheie primară. În momentul în care utilizatorul lansează în execuţie
comanda de salvare a tabelului, programul Access va afişa o fereastră de
avertisment.
În această fereastră se comunică faptul că nu a fost selectat nici un câmp
care să aibă atributul de cheie primară; un tabel trebuie să aibă o cheie primară,
deoarece valoarea cheii primare este utilizată în definirea unei relaţii, care se va
stabili între tabelul actual şi între celelalte tabele ale bazei de date. Programul
Access întreabă dacă utilizatorul doreşte să definească în acest moment o cheie
primară. Pot fi date trei răspunsuri:

 Yes - Dacă în noul tabel există un câmp care are tipul AutoNumber,
atunci câmpul respectiv va primi automat atributul de cheie primară a
tabelului. Dacă în noul tabel nu există un câmp de tip AutoNumber,
atunci programul Access creează automat un nou câmp (având numele
ID şi tipul AutoNumber), care va obţine atributul de cheie primară a
tabelului.
 No - Se salvează noul tabel fără ca tabelul să fie prevăzut cu un câmp
care să aibă atributul de cheie primară. Nu se recomandă crearea de
tabele care nu au cheie primară, deoarece un astfel de tabel va fi un
tabel "izolat" al bazei de date, deci tabelul respectiv nu poate fi pus
într-o oarecare relaţie cu alte tabele ale bazei de date.
 Cancel - Se revine automat în modul de afişare de tip proiect, fără ca
noul tabel să fie salvat.

7
Selectorul de linie aferent unei linii este celula, care este situată în stânga celului care conţine
numele câmpului. Prin efectuarea unui clic în selectorul de linie, întreaga linie va fi afişată în video
invers.

230
Îndepărtarea cheii primare
 Dacă cheia primară este deja utilizată într-o relaţie oarecare, prima
dată trebuie ştearsă relaţia respectivă (a se vedea paragraful referitor la
relaţii).
 Se deschide tabelul în modul de vizualizare tip proiect.
 Se efectuează un clic pe selectorul de linie al cheii primare curente
(sau pe o celulă din linia în care apare simbolul de cheie), după care
din meniul Edit se dă comanda Primary Key (sau în bara de unelte de

proiectare a tabelelor se face un clic pe simbolul grafic ). În


stânga numelui câmpului (câmpurilor) va dispare simbolul de forma
unei chei.

Crearea unui index asociat unui câmp


 Se deschide tabelul în modul de vizualizare tip proiect.
 Se selectează câmpul pentru care se va crea (modifica) un index.

 În subfereastra de proprietăţi ale câmpului se efectuează un clic în


coloana de valori ale proprietăţii Indexed. Se deschide lista de valori
ale proprietăţii. Proprietatea Indexed poate fi configurată cu
următoarele valori:
Valoare Descriere
No Câmpul nu este indexat. Valoare implicită.
Câmpul este indexat şi se permite ca două sau mai multe articole
Yes (Duplicates OK) ale tabelului să aibă aceeaşi valoare în câmpul respectiv (adică
indexul creat permite introducerea dublurilor).
Câmpul este indexat dar nu se permite ca două articole din tabel să
aibă aceeaşi valoare în câmpul respectiv (adică indexul creat nu
permite introducerea dublurilor). În cazul introducerii unei dubluri
Yes (No Duplicates)
programul Access va afişa un mesaj de eroare în care va cere fie
modificarea valorii introduse, fie modificarea proprietăţii Indexed
la valoarea No sau Yes (Duplicates OK) .

Pentru eliminarea unui index existent (exceptând cazul unui câmp care este
cheie primară unică) proprietatea Indexed trebuie configurată cu valoarea No.
Un index configurat cu valoarea Yes (Duplicates OK) este mult mai puţin
performant decât un index configurat cu valoarea Yes (No Duplicates).
Dacă un anumit câmp al unui tabel are atributul de cheie primară (Primary
Key), atunci proprietatea Indexed a câmpului respectiv va fi configurată
automat la valoarea Yes (No -Duplicates).

231
5.2.3 Structura unui tabel

Modificarea numelui, tipului şi proprietăţilor unui câmp


Dacă la un moment dat se constată, că numele, tipul şi/sau anumite
proprietăţi ale unui câmp nu mai sunt satisfăcătoare, toate aceste caracteristici
se pot modifica. În acest scop se deschide în modul de vizualizare tip proiect
tabelul ale cărui caracteristici se vor modifica. Dacă se doreşte modificarea
unui nume de câmp, atunci în coloana Field Name se efectuează un clic pe
numele respectiv şi se introduce noul nume. Dacă se doreşte modificarea tipului
unui câmp, atunci se execută un clic pe coloana Data Type corespunzător
câmpului şi din lista derulantă se alege noul tip. În mod analog pot fi modificate
informaţiile introduse în zona de proprietăţi ale câmpului (Field Properties).

Consecinţele modificării proprietăţii Field Size referitoare la


dimensiune de câmp
În multe cazuri, modificarea proprietăţii Field Size a unui câmp produce
erori. Acest fenomen apare atunci când vechea dimensiune de câmp este
modificată la una mai mică.

Exemple:
 Lungimea maximă a unui câmp tip Text a fost 50. Ulterior această
lungime a fost micşorată la 25. În aceste condiţii caracterele de la 25
în sus se vor trunchia.
 Lungimea iniţială a unui câmp tip Number a fost Single. Ulterior
această lungime a fost modificată la Long Integer. În acest caz
zecimalele se vor pierde, deoarece se realizează rotunjirea la cel mai
apropiat întreg.
 Lungimea iniţială a unui câmp tip Number a fost Single. Ulterior
această lungime a fost modificată la Integer. În acest caz valorile care
nu aparţin intervalului [-32.768 ; 32.767] se pierd.

Crearea unei reguli de validare pentru un câmp


În procesul de introducere a datelor se poate cere ca programul Access să
verifice corectitudinea lor şi să afişeze un mesaj de eroare în cazul în care s-a
descoperit o valoare eronată. Pentru a crea o regulă de validare asociată unui
câmp şi a unui mesaj de eroare care se afişează în cazul datelor invalide se va
proceda astfel:
 Se deschide tabelul în modul de vizualizare tip proiect şi se selectează
câmpul pentru care se va crea (modifica) o regulă de validare.
 În subfereastra de proprietăţi corespunzătoare câmpului se efectuează
un clic în cutia text a proprietăţii Validation Rule (regulă de validare).
În cutia astfel desemnată se introduce o expresie logică, de obicei de

232
tip relaţie. Astfel, de exemplu, în cazul unui câmp de tip Number
expresia de validare poate fi >= 0, prin care se acceptă valori mai
mari sau egale cu zero. Operatorii de relaţie utilizaţi sunt < (mai mic),
<= (mai mic sau egal), = (egal), >= (mai mare sau egal), > (mai mare),
<> (diferit).
 În cutia text a proprietăţii Validation Text (text de validare) se
introduce un mesaj care va fi afişat în momentul, în care expresia de
validare (stabilită de proprietatea
Validation Rule) returnează
valoarea falsă. Astfel, de
exemplu, dacă regula de validare
este configurată cu expresia
logică >=0, atunci textul de
validare poate fi "Nu introduceţi
valori negative!".

În tabelul următor sunt date exemple de reguli de validare care se referă la


diferite tipuri de date, cu mesajele de eroare corespunzătoare:

Tipul datei Validation Rule Validation Text


Text >"L" Nume de la litera L în sus (M, N, ...)
Date/Time >#12/31/2002# Introduceţi date de la 1 ian 2003
Currency >=80 Salar cel puţin 80 dolari!

Modificarea lăţimii unei coloane a unui tabel


Uneori este necesară modificarea lăţimii unei coloane a unui tabel (de
exemplu nu se văd datele introduse în unele celule ale coloanei). În aceste
condiţii se afişează tabelul în modul de vizualizare tip foaie de date, printr-un
clic aplicat într-o celulă a coloanei se selectează coloana respectivă şi din
meniul Format se dă comanda Column Width. Se afişează o fereastră de dialog
etichetată cu Column Width. În cutia text se tastează noua lăţime a coloanei.
Lăţimea coloanei se defineşte în număr
de caractere care se pot introduce în
coloana respectivă. Dacă se selectează
caseta de selectare Standard Width
(lăţime standard), atunci lăţimea
coloanei va fi egală cu 15.6667
caractere. Fereastra de dialog are trei
butoane de comandă:
 OK (salvarea modificărilor şi închiderea ferestrei de dialog);
 Cancel (ignorarea modificărilor şi închiderea ferestrei de dialog);

233
 Best Fit (potrivire optimală). În cazul acţionării acestui buton lăţimea
coloanelor selectate va fi stabilită în aşa fel, încât va fi vizibilă în
întregime şi cea mai lungă intrare în interiorul coloanei (antet de
coloană şi valori de câmpuri).
Lăţimea unei coloane poate fi
modificată şi cu ajutorul mouse-
ului. În acest scop se poziţionează
indicatorul de mouse pe o linie de
despărţire verticală între două
nume de câmpuri. Cursorul se
transformă într-o linie orizontală
cu două săgeţi îndreptate spre
stânga şi spre dreapta. Se acţionează butonul din stânga, şi menţinându-l apăsat
se deplasează mouse-ul în direcţia orizontală, până când se obţine lăţimea
dorită, moment în care se eliberează butonul. În acest mod va fi redimensionată
coloana care este situată în stânga liniei de despărţire.

Mutarea unei coloane în interiorul unui tabel


Uneori se doreşte schimbarea ordinii câmpurilor într-un tabel. Această
operaţie poate fi realizată atât în modul de vizualizare tip foaie de dată, cât şi în
modul de vizualizare tip proiect :
 În modul de vizualizare tip foaie de dată:
Se efectuează un clic pe numele de câmp dorit, prin care se selectează
coloana respectivă. În continuare se trage cu mouse-ul coloana în noua
ei poziţie. În exemplul alăturat, câmpul Pret este mutat din poziţia 3 în
poziţia 2.

 În modul de vizualizare tip proiect:


Se efectează un clic pe selectorul de linie al câmpului dorit (celula
situată în stânga numelul de câmp). În continuare se trage cu mouse-ul
linia în noua ei poziţie. În exemplul alăturat câmpul ProdusID este
mutat din poziţia 2 în poziţia 4.

234
5.2.4 Relaţii între tabele

Crearea unei relaţii între tabelele unei baze de date


 Se închide fiecare tabel care a fost deschis anterior, deoarece nu pot fi
create sau modificate relaţii între tabele deschise.
 Dacă este cazul, se activează fereastra de baze de date Database. Din
orice fereastră se poate trece în fereastra de baze prin acţionarea tastei
F11.

 Se efectuează un clic pe butonul de afişare a relaţiilor


(Relationships).
Variantă: din meniul
Tools se dă comanda
Relationships.
În urma acestei acţiuni
pe ecran va apare
întotdeauna o fereastră
de dialog etichetată cu
Relationships (relaţii)
şi – în funcţie de caz –
o altă fereastră de
dialog etichetată cu
Show Table (afişare tabel).
 Dacă între tabelele bazei de date nu au fost încă definite diferite relaţii,
atunci se va afişa automat şi fereastră de dialog Show Table. Dacă între
tabelele bazei s-au definit anterior relaţii, atunci va fi afişată numai
fereastra Relationships. Dacă fereastra Show Table nu este încă afişată,
atunci se va efectua un clic pe butonul de afişare de tabele Show Table
.
Variantă: din meniul View se dă comanda Show Table. Fereastra
corespunzătoare filei Tables conţine lista tuturor tabelelor din baza
actuală de date. Dacă toate tabelele necesare pentru crearea de relaţii
sunt deja afişate în fereastra de relaţii Relationships, atunci se sare
peste punctul următor.
 Se efectuează un dublu clic pe numele fiecărui tabel care este necesar
pentru crearea relaţiilor.
Variantă: printr-un clic se selectează un nume de tabel sau un nume de
interogare, după care se acţionează butonul de comandă Add
(adăugare). Tabelele
selectate vor apare în
fereastra de definire a

235
relaţiilor; pentru fiecare element este rezervată o listă, în care vor
apare numele tabelului, precum şi câmpurile acestuia. După selectarea
tuturor tabelelor necesare stabilirii relaţiilor, fereastra Show Table
poate fi închisă, de exemplu prin acţionarea butonului de comandă
Close. În exemplul prezentat în captura alăturată, în fereastra de
definire a relaţiilor au fost "aruncate" tabelele tblJudet şi tblLocalitate.
Între aceste tabele se va genera o relaţie de tipul "de la unu la mai
mulţi", în partea de "unu" a relaţiei fiind tabelul tblJudet (într-un judeţ
sunt mai multe localităţi).
 Pentru crearea unei relaţii se trage cu mouse-ul numele câmpului de
cheie primarǎ (din tabelul primar) peste numele câmpului asociat
(cheia străină din tabelul asociat). În cazul de faţă se trage câmpul
JudetID (din tabelul tblJudet) peste câmpul JudetID (în tabelul
tblLocalitate). De obicei, cheia primară şi cea străină au acelaşi nume,
însă această identitate de nume nu este obligatorie. După realizarea
acestei operaţii de tragere se afişează automat o nouă fereastră de
dialog etichetată cu Edit Relationships, care are aspectul următor:

 În această fereastră se verifică dacă operaţia de tragere cu mouse-ul a


fost executată corect. În coloana din stânga (Table/Query) trebuie să
fie afişat numele tabelului primar şi numele cheii primare. În coloana
din dreapta (Related table/Query) trebuie să fie afişat numele tabelului
asociat precum şi numele cheii străine. Dacă este cazul, aceste date pot
fi modificate şi în interiorul ferestrei actuale de dialog, prin efectuarea
unui clic pe numele eronat şi selectarea numelui corect din lista
derulantă corespunzătoare celulei.
 În continuare, dacă este cazul, se configurează proprietăţile de asociere
între cele două tabele. Ele pot fi stabilite prin cele trei casete de
selectare afişate în partea inferioară a ferestrei de dialog:
– Enforce Referential Integrity (impunerea integrităţii referenţiale a
relaţiei);

236
– Cascade Update Related Fields (actualizarea în cascadă a
câmpurilor asociate (corelate));
– Cascade Delete Related Records (ştergerea în cascadă a
articolelor asociate (corelate)).
 Pentru crearea efectivă a relaţiei se va acţiona butonul de comandă
Create (creare).
 Se repetă paşii de la 5 până la 9 pentru fiecare pereche de tabele care
urmează să fie asociate.
 În momentul închiderii ferestrei de relaţii, programul Access va
întreba dacă se doreşte salvarea aspectului imaginii referitoare la
relaţii, adică aspectul obiectului "Relaţii". Indiferent de faptul, că
aspectul este sau nu salvat, relaţiile create vor fi salvate în baza actuală
de date.

În fereastra de relaţii Relationships, relaţiile între tabelele asociate sunt


materializate prin diferite linii. Din aspectul exterior al liniei se poate deduce
natura relaţiei între cele două tabele, de exemplu, o linie simplă cu simbolurile
1 şi ∞ la capete, unde numărul 1
este lângă cheia primară,
reprezintă o relaţie "de la unu la
mai mulţi" iar o linie simplă cu
simbolurile 1 şi 1 la capete,
reprezintă o relaţie "unu la unu".
Se menţionează faptul, că în
partea inferioară a ferestrei
Relationships apare o zonă,
etichetată cu Relationship Type, în care programul Access comunică tipul
relaţiei stabilite. În această zonă pot apare următoarele trei valori:
Relaţie de tipul "de la unu la mai mulţi", în care unul din câmpurile puse în
One-To-Many
corespondenţă are atributul de cheie primară (sau are un index unic).
Relaţie de tipul "unu la unu", în care ambele câmpuri puse în corespondenţă au
One-To-One
atributul de cheie primară (sau au un index unic).
Relaţie nedeterminată, în care nici unul din câmpurile puse în corespondenţă
nu are atributul de cheie primară (şi nu au index unic). Pentru a evita acest tip
Indeterminate
de relaţie, unuia din câmpurile puse în corespondenţă i se va atribui atributul
de cheie primară (sau se va crea un index unic).

Modificarea relaţiilor între tabele


Relaţiile între tabele create anterior pot fi modificate. În acest scop cu
ajutorul butonului de comandă (Relationships) se reafişează fereastra de
relaţii, se efectuează un clic pe linia de reprezentare a relaţiei şi din meniul
Relationships (relaţii) se dă comanda Edit Relationship (editare relaţie).

237
Variantă: se efectuează un clic dreapta pe linia de reprezentare a relatiei şi
din meniul local afişat se dă comanda Edit Relationship sau se efectuează un
dublu clic pe linia de reprezentare a relaţiei. În urma acestor acţiuni se afişează
fereastra de dialog Edit Relationships, în care se pot opera modificările dorite.

Ştergerea relaţiilor între tabele


Relaţiile între tabele, create anterior, pot fi şterse. Pentru realizarea acestei
operaţii cu ajutorul butonului de comandă (Relationships) se afişează
fereastra de relaţii, se efectuează un clic pe linia de reprezentare a relaţiei şi se
apasă tasta DELETE.
Variantă: se efectuează un clic dreapta pe linia de reprezentare a relaţiei şi
din meniul local afişat se dă comanda Delete. Programul Access va afişa o
fereastră de avertisment, în care se va cere confirmarea utilizatorului pentru
îndepărtarea permanentă a relaţiei, la care se va răspunde cu Yes (da):

Proprietăţile relaţiilor
Fereastra de definire a relaţiilor între diferite tabele ale bazei de date
(Relationships) este prevăzută şi cu o casetă de selectare etichetată cu Enforce
Referential Integrity, prin care utilizatorul poate să stabilească tipul de
asociere predefinit.
Caseta de selectare Enforce Referential Integrity (impunerea integrităţii
referenţiale a relaţiei) poate fi selectată numai atunci, când sunt îndeplinite
următoarele trei condiţii:
 câmpul care a fost selectat din tabelul primar al relaţiei are atributul de
cheie primară (sau are un index unic);
 câmpurile puse în corespondenţă au acelaşi tip8;
 atât tabelul primar, cât şi tabelul asociat sunt memorate în aceeaşi bază
de date.

În aceste condiţii impunerea integrităţii referenţiale a relaţiei va asigura


următoarele trei verificări, realizate automat de programul Access:
 În câmpul cheie străină a tabelului asociat pot fi introduse numai
valorile, care aparţin mulţimii valorilor cheii primare din tabelul
primar. Se permite însă introducerea unei valori nule în câmpul cheie
străină, ceea ce înseamnă, că se permite necompletarea valorii din
cheia străină. Dacă cheia străină conţine o valoare nulă, atunci
articolul respectiv este interpretat ca fiind un articol neasociat. Astfel,
de exemplu,
dacă cheia

8
Excepţie: un câmp de tip AutoNumber poate fi asociat cu un câmp de tip Number, de dimensiune
Long Integer (dimensiunea poate fi configurată cu ajutorul proprietăţii Field Size).

238
primară conţine valorile 1, 2, 3 şi 4, atunci introducerea valorii 5 în
cheia străină va declanşa o eroare, necompletarea cheii străine însă nu
va cauza nici o eroare. În cazul nerespectării acestei reguli programul
Access va afişa o fereastră de eroare.
 Dacă unui articol din tabelul primar îi corespunde unul sau mai multe
articole din tabelul asociat, atunci utilizatorul nu poate şterge sau
modifica articolul respectiv din tabelul primar. Dacă utilizatorul totuşi
încearcă efectuarea acestei operaţii, atunci programul Access va afişa
o fereastră de eroare. Această verificare poate fi abrogată, permiţând
ştergerea în cascadă a articolelor asociate: se va selecta caseta de
selectare Cascade Delete Related Records (ştergerea în cascadă a
articolelor asociate).
 Dacă unui articol din tabelul primar îi corespund unul sau mai multe
articole din tabelul asociat, atunci valoarea cheii primare nu poate fi
modificată (editată). În cazul în care utilizatorul încearcă să modifice
valoarea cheii primare, programul Access va afişa o fereastră de
eroare. Această verificare poate fi abrogată, permiţând editarea valorii
memorate în cheia primară şi actualizarea automată, în cascadă, a
valorilor din câmpurile străine asociate. În acest scop se va selecta
caseta de selectare Cascade Update Related Fields (actualizarea în
cascadă a câmpurilor asociate). Se menţionează faptul, că în cazul în
care cheia primară are tipul AutoNumber, utilizatorul nu poate să
modifice sub nici o formă valoarea cheii primare (doarece numai
programul Access poate gestiona valorile memorate în cheia primară).

5.3 Formulare

Deschiderea unui formular creat anterior

 În fereastra bazei de date se efectuează un clic be butonul


(formulare, buton situat lângă marginea din stânga a ferestrei).
 Din lista de formulare, printr-un clic se alege formularul dorit.
 Se efectuează un clic pe butonul de comandă (Open,
deschidere). În urma
acestei acţiuni pe ecran
se afişează formularul,
care foloseşte modul de
afişare tip formular
(Form view).

239
Prin intermediul acestuia se pot edita, introduce sau şterge articole noi
în tabelul pe care se bazează formularul respectiv. Un alt mod pentru
deschiderea unui formular este efectuarea unui dublu clic pe numele
formularului respectiv.

Crearea şi salvarea unui formular

 În fereastra bazei de date se efectuează un clic pe butonul


(formulare).
 Se efectuează un clic pe comanda etichetată cu Create form by using
wizard (crearea unui formular prin utilizarea expertului). În urma
acestei acţiuni se afişează prima fereastră a expertului de formular:

 Din lista combinată Tables/Queries se aleg tabelele (interogările)


utilizate în formular. După selectarea unui astfel de obiect, în lista
Available Fields (câmpuri disponibile) se vor afişa câmpurile
disponibile ale obiectului respectiv. Din lista Available Fields, printr-
un clic se selectează un nume de câmp, după care se execută un clic pe
butonul . Câmpul selectat se va deplasa în lista etichetată cu
Selected Fields (câmpuri selectate). Se repetă procedura pentru fiecare
câmp utilizat în formular. În continuare, din lista combinată
Tables/Queries se pot selecta şi alte tabele sau interogări, iar câmpurile
necesare în formular
se vor depune în lista
Selected Fields.
După ce au fost
desemnate toate
câmpurile utilizate în

240
formular se acţionează butonul de comandă Next, prin care se trece la
pasul următor al expertului.

 În acest pas sunt puse la dispoziţia utilizatorului şase butoane de opţiune,


prin care se stabileşte aspectul formularului, de exemplu, tip coloană, tip
tabelă, tip foaie de date şi altele.

 Pentru a trece la pasul următor al experului se va da comanda Next.


 În acest pas, cu ajutorul unei liste se poate selecta stilul preferat al
formularului (adică se poate alege culoarea de fundal respectiv
imaginea din fundal care va fi aplicată formularului). Pentru a trece la
pasul următor al expertului se va da comanda Next.
 În acest ultim pas se cere stabilirea unui titlu aferent formularului.
Activitatea expertului se termină prin acţionarea tastei Finish.
Formularul este salvat automat de Access.

Utilizarea unui formular pentru introducerea, modificarea şi


ştergerea articolelor
Pentru a introduce un articol nou în tabelul aferent formularului se va va
efectua un clic pe butonul de comandă . În urma acestei acţiuni cutiile text
ale formularului devin necompletate, astfel se poate trece la tastarea noilor
valori de câmpuri.
Pentru modifiarea unui articol se navighează la articolul respectiv, se face
un clic pe cutia text corespunzătoare câmpului modificat, după care se operează
editările necesare.
Pentru ştergerea unui articol se navighează la articolul respectiv, după care
din meniul Edit se dă comanda Delete Record. Se afişează o fereastră în care
se cere confirmarea ştergerii (prin Yes) sau abandonarea ei (prin No).

Navigare în articolele unui formular


În partea de jos a unui formular este afişată o bară de instrumente care
asigură parcurgerea articolelor tabelului aferent (interogării aferente)
formularului.

Poziţionare pe primul articol al tabelului.


Poziţionare pe articolul precedent al tabelului.
Poziţionare pe articolul specificat al tabelului. După introducerea
numărului de articol necesar se va acţiona tasta Enter.
Poziţionare pe articolul următor al tabelului.

241
Poziţionare pe ultimul articol al tabelului
Adăugarea unui articol nou tabelului.

Adăugarea şi modificarea textelor şi a imaginilor din antetul şi


subsolul unui formular
Formularele pot conţine, în afara secţiunii de detalii (Detail), care cuprinde
controlalele "aruncate" pe formular şi alte secţiuni:
 secţiunea de antet a formularului;
 secţiunea de subsol a formularului.

Pentru a afişa/a ascunde secţiunile de antet şi de subsol ale unui formular


se va proceda astfel:

 În fereastra bazei de date se efectuează un clic be butonul


(formulare, buton situat lângă marginea din stânga a ferestrei).
 Printr-un clic, din lista de formulare se alege formularul dorit.
 Se efectuează un clic pe butonul de comandă (Design), prin
care se deschide formularul în modul de vizualizare tip proiect.
 Din meniul View se dă comanda Form Header/Form Footer.

 Secţiunile de antet (header) şi de subsol (footer) fiind afişate, se pot


adăuga secţiunilor respective controale suplimentare, de exemplu
etichete sau imagini grafice. Aceste operaţii se pot realiza doar după ce
în secţiunile respective există un spaţiu suficient. Pentru a adăuga
spaţiu antetului sau subsolului, folosind mouse-ul, se trag în jos liniile
care delimitează secţiunile respective.

242
 Spaţiul rezervat antetului şi subsolului fiind asigurat, se verifică dacă
este afişată cutia de unelte. Pentru afişarea/ascunderea casetei de
instrumente se va utiliza comanda Toolbox a meniului View.
 Pentru a introduce un text (etichetă) în zona antetului sau în zona
subsolului, se va efectua un clic pe butonul (Label) al casetei de
instrumente. După acţionarea acestui buton se selectează în zona de
antet sau subsol locaţia unde se va poziţiona şirul de caractere, după
care se tastează şirul respectiv.
Pentru a introduce o imagine grafică în zona antetului sau în zona
subsolului, se va efectua un clic pe butonul (Image) al casetei de
instrumente. După acţionarea acestui buton se selectează în zona de
antet sau subsol locaţia unde se va poziţiona imaginea. Se afişează
fereastra de dialog prin care se stabileşte imaginea dorită.

Îndepărtarea etichetelor şi a imaginilor din zonele de antet/subsol se face


prin efectuarea unui clic pe controlul respectiv şi acţionarea tastei DELETE.
Un formular prevăzut cu o etichetă în zona de antet (în modurile de
vizualizare tip proiect şi tip formular) are aspectul alăturat.

Ştergerea unui formular


Pentru a şterge un formular, în fereastra bazei de date se selectează
formularul respectiv şi se efectuează un clic pe butonul de comandă
(Delete).
Variantă: din meniul Edit se dă comanda Delete, care are tasta de comenzi
rapide DELETE. Se afişează o fereastră de avertisment. Operaţia de ştergere de
formular trebuie validată cu Yes sau invalidată cu No.

Salvarea unui formular

243
Salvarea unui formular (deschis) este realizată automat de programul
Access. Pentru a avea o siguranţă mai mare se poate cere efectuarea operaţiei
de salvare printr-un clic pe butonul de comandă (Save).

Închiderea unui formular


Pentru închiderea unui formular se va efectua un clic pe butonul
(Close) situat în partea dreapta sus a formularului deschis.
Variantă: din meniul File se dă comanda Close.

5.4 Regăsirea informaţiilor


5.4.1 Căutarea datelor

Programul Access permite căutarea unei valori care este memorată într-un
câmp (specificat sau nespecificat) al unui articol. Operaţia de căutare poate fi
aplicată pentru:
– articolele unui tabel (în modul de vizualizare tip foaie de date);
– articolele livrate de o interogare (în modul de vizualizare tip foaie
de date);
– articolele unui formular (în modul de vizualizare tip foaie de date
şi în modul de vizualizare tip formular).

 În modul de vizualizare tip foaie de date sau în modul de vizualizare


tip formular se efectuează un clic pe câmpul care conţine informaţia
care urmează să fie căutată. Dacă nu se cunoaşte exact numele
câmpului care conţine informaţia căutată, atunci se va executa un clic
pe un câmp arbitrar.
 În meniul Edit se dă comanda Find (găsire).
Variantă: se efectuează un clic pe butonul de comandă (Find). Se
afişează o fereastră de dialog etichetată cu Find and Replace (căutare
şi înlocuire) care conţine două file. Dacă este cazul, se activează fila
Find.

244
 În cutia text Find What (de căutat) se tastează valoarea care urmează
să fie căutată (text, număr, dată calendaristică).
 Lista combinată Look In (privire în) este încărcată automat cu numele
câmpului selectat în primul pas. Căutarea se limitează la câmpul
curent, astfel căutarea va fi rapidă. Din această listă se poate selecta şi
numele foii de date analizate sau formularului analizat. În acest caz
căutarea se referă la toate câmpurile şi la toate articolele, căutarea
fiind lentă.
 Se deschide lista combinată Search (căutare), prin care se va stabili
direcţia de căutare. Opţiunile posibile sunt:
– Up (în sus, de la articolul actual spre primul articol);
– Down (în jos, de la articolul actual spre ultimul articol);
– All (se va căuta în toate articolele, opţiune implicită).
 Se deschide lista combinată Match (potrivire), care stabileşte modul de
comparare a informaţiei căutate, cu diferitele valori. Opţiunile posibile
sunt:
– Whole Field (câmp întreg). Se caută câmpurile, al căror conţinut
coincide cu textul specificat în cutia text Find What. Opţiune
implicită. De exemplu, cu "Pop" nu se va găsi "Popescu".
– Start of Field (începutul câmpului). Se caută câmpurile, care încep
cu textul specificat. De exemplu, cu "Pop" se va găsi atât "Pop",
cât şi "Popescu", dar nu şi "Ion Pop".
– Any Part of Field (orice parte a câmpului). Se caută câmpurile,
care conţin textul căutat într-o poziţie arbitrară. De exemplu, cu
"Pop" se va găsi "Pop", "Popescu" cât şi "Ion Popovici".
 Pentru a căuta prima apariţie a valorii introduse în cutia text Find
What se va efectua un clic pe butonul de comandă Find Next (caută
următorul). Dacă informaţia căutată a fost descoperită, ea va fi
selectată; în caz contrar se va afişa o fereastră în care se comunică
acest fapt.

245
 Pentru a căuta următoarele apariţii ale valorii introduse în cutia de text
Find What se va efectua un clic pe butonul de comandă Find Next.
 După localizarea informaţiei căutate se va efectua un clic pe butonul
de comandă Cancel (închiderea ferestrei de căutare).

5.4.2 Filtrarea datelor


Prin filtrare se înţelege afişarea unor articole care satisfac anumite criterii.
Articolele care nu satisfac criteriul respectiv sunt ascunse, dar nu şi şterse din
tabelă. Operaţia de filtrare este folosită atunci, când utilizatorul doreşte să
„pună deoparte” anumite articolele neesenţiale; pe ecran vor fi afişate doar
articolele, care prezintă interes în momentul respectiv. Filtrarea articolelor
poate fi realizată prin mai multe metode. Cea mai uşoară metodă de filtrare este
filtrarea prin selecţie. Singura activitate a utilizatorului înainte de filtrare este
"descoperirea" (localizarea) unei valori de câmp, care urmează să fie folosită în
procesul de filtrare. Astfel, de exemplu, să presupunem că se doreşte afişarea
tuturor articolelor, care în câmpul Oraş conţin valoarea Arad. În acest scop se
va căuta şi selecta o valoare egală cu Arad, după care va lansa în execuţie
comanda de filtrare prin selecţie, astfel:
 Se deschide tabelul, interogarea sau formularul care urmează să fie
filtrat (se va utiliza modul de vizualizare tip foaie de date; la formulare
poate fi utilizat şi modul de vizualizare tip formular).
 Se caută o apariţie a valorii care urmează să fie conţinută în toate
articolele filtrate.
 Se selectează valoarea respectivă, conform următoarelor:
– Pentru a afişa toate articolele în care valoarea câmpului este
identică cu valoarea selectată, se va selecta întreaga informaţie
memorată în câmp. Dacă, de exemplu, din câmpul Oraş se
selectează valoarea Arad, atunci se vor afişa toate articolele, care
în câmpul Oraş conţin valoarea Arad.
– Pentru a afişa toate articolele în care valoarea câmpului respectiv
începe cu valoarea selectată, atunci se selectează o parte de
început din informaţia memorată în câmp, pornind de la primul
caracter al valorii. Dacă, de exemplu, din valoarea Arad se
selectează numai litera A, atunci se vor afişa toate articolele, care
încep cu litera A, de exemplu Arad, Alba Iulia, Anina, Adjud
ş.a.m.d.
– Pentru a afişa toate articolele în care câmpul conţine valoarea
selectată într-o locaţie arbitrară, atunci se selectează doar o parte
din informaţia memorată în câmp. Dacă, de exemplu, din valoarea
Arad se selectează literele ra, atunci se vor afişa articolele, care
conţin literele ra, de exemplu Arad, Caracal, Crasna ş.a.m.d.

246
 În meniul Records se indică submeniul Filter, după care se dă
comanda Filter by Selection.
Variantă: se efectuează un clic pe butonul de comandă (Filter by
Selection). În urma acestei acţiuni pe ecran vor fi afişate doar
articolele, care satisfac criteriul respectiv.

Numărul articolelor afişate pe ecran, în continuare, poate fi micşorat. În


acest scop se va relua algoritmul anterior din pasul al treilea, cu o nouă valoare
de filtrare.

Efectul unei operaţii de filtrare poate fi anulat prin ştergerea filtrului


aplicat. În acest scop în meniul Records se va da comanda Remove Filter/Sort
(eliminare filtrare/sortare).

5.4.3 Interogări

Crearea şi salvarea unei interogări


 În fereastra bazei de date analizate se efectuează un clic pe butonul de

comandă (interogări, buton situat lângă marginea din stânga a


ferestrei).
 Se efectuează un dublu clic pe comanda Create query in Design view
(crearea interogării în modul de afişare tip proiect). În urma acestei
comenzi pe ecran vor apare două ferestre:
– în faţă o fereastră etichetată cu Show Table (afişare de tabel);
– în planul secund o fereastră etichetată cu Select Query (fereastra
destinată pentru proiectarea interogării, care conţine grila de
proiectare).

247
Fereastra de dialog Show Table conţine trei file:
– Fila Tables afişează lista tuturor tabelelor din baza de date.
– Fila Queries afişează lista tuturor interogărilor bazei de date,
create anterior. Se menţionează faptul, că pot fi create interogări
tip stivă, caz în care articolele care se vor afişa în noua interogare
se bazează pe articolele livrate de o altă interogare.
– Fila Both cumulează informaţiile existente în cele două fişe
anterioare; ea afişează lista tuturor tabelelor şi interogărilor din
baza de date.
 Se efectuează un dublu clic pe numele obiectului (tabel sau interogare)
pe care se bazează noua interogare.
Variantă: printr-un clic se selectează obiectul necesar şi se acţionează
butonul de comandă Add. Obiectul respectiv va fi aşezat ("aruncat") în
partea superioară a ferestrei Select Query. Fiecărui obiect aruncat îi
corespunde câte o listă, care conţine următoarele date: numele
obiectului aruncat (în capul de tabel a listei), un caracter *, precum şi
numele tuturor câmpurilor din obiectul respectiv. În cazul exemplului
nostru se vor "arunca" în fereastra Select Query tabelele tblJudet şi
tblLocalitate.
 Se repetă pasul precedent pentru fiecare tabel sau interogare pe care se
bazează noua interogare. După alegerea tuturor obiectelor necesare
noii interogări se închide fereastra Show Table (prin acţionarea
butonului de comandă Close). În urma acestei comenzi se activează
fereastra Select Query.
 Dacă sunt utilizate mai multe tabele sau mai multe interogări, prima
dată se verifică modul de conectare a câmpurilor asociate (câmpurile

248
asociate sunt legate cu o linie). Stabilirea de relaţii între tabele
(interogări) sau modificarea tipului relaţiilor existente poate fi
realizată şi în interiorul ferestrei Select Query.
 Se adaugă câmpul implicat în interogare pe grilă, situată în partea
inferioară a ferestrei Select Query. În acest scop din lista de nume se va
trage cu mouse-ul numele câmpului respectiv într-o celulă liberă din linia
Field (câmp). În linia Table se afişează automat numele tabelului
(interogării) care conţine câmpul tras. O altă variantă este efectuarea unui
dublu clic pe numele câmpului necesar. Tragerea pe grilă a caracterului
"*" este echivalentă cu tragerea pe grilă a tuturor numelor de câmpuri din
tabelul aferent. În cazul nostru au fost trase pe grilă câmpul JudetID (care
aparţine tabelului tblJudet), Nume (din tabelul tblJudet), Centru (din
tabelul tblJudet) precum şi câmpul NumeLoc (care aparţine tabelului
tblLocalitate). După tragerea acestor câmpuri liniile Field şi Table ale
ferestrei de proiectare a interogării va avea aspectul următor:

 Se repetă pasul precedent, până când toate câmpurile necesare


interogării vor fi depuse în liniile Fields şi Table ale grilei de
interogare.
 În continuare, pentru fiecare câmp al grilei pot fi stabilite criterii de
sortare (celulele din linia Sort), criterii de selectare a articolelor
(celulele din linia Criteria) şi pot fi desemnate câmpurile vizibile ale
interogării (celulele din linia Show). În cazul nostru, în linia Criteria
corespunzătoare câmpului tblJudet a fost introdus criteriul "Cluj". În
linia Sort corespunzătoare câmpului NumeLoc a folosită valoarea
Ascending (sortare în ordine crescătoare). Cele patru câmpuri utilizate
în interogare sunt vizibile (casetele de selectare din linia Show sunt
selectate).

249
 Pentru a salva interogarea creată se va efectua un clic pe butonul Save

. În fereastra afişată se va introduce numele atribuit interogării,


după care se va acţiona butonul de comandă OK.
 Rezultatele interogării pot fi vizualizate prin acţionarea butonului Run
(executare).

Observaţii:
 Criteriile specificate în celulele liniei Criteria sunt legate prin
operatorul de conjuncţie ŞI (AND). Ele permit limitarea afişării
tuturor valorilor conţinute într-un câmp specificat al grilei. Pentru a
specifica un criteriu corespunzător unui câmp, se va efectua un clic pe
linia Criteria aferentă câmpului şi se va introduce criteriul care
urmează să fie utilizat. Criteriul poate fi o simplă valoare sau un
operator urmat de o expresie. Valorile de tip text trebuie să fie
încadrate de o pereche de caractere "ghilimele", iar cele de tip date
calendaristice de o pereche de caractere "#" (diez).
 Tabelul alăturat conţine mulţimea operatorilor utilizaţi în stabilirea
criteriilor:

Operator Semnificaţie Expresia introdusă Valorile selectate


în celula Criteria
Mai mic <1200.45 Numere mai mici decât
<
1200.45
Mai mic sau egal <= Date( ) - 10 Cel puţin cu 10 zile în
<=
urmă.
= 13 Numere egale cu 13.
= Egal
= Date( ) Data actuală.
>= "Popescu" Mulţimea valorilor
(numelor) de la
"Popescu" până la
sfârşitul alfabetului.
>= Mai mare sau egal >="N" Mulţimea valorilor
(numelor) care încep cu
litera N până la sfârşitul
alfabetului.
Mai mare >234 Numere mai mari decât
>
234
<> 2 Numere diferite de 2.
<>
sau Diferit Not "USA" Mulţimea valorilor
Not diferite de "USA"

 Dacă în aceeaşi linie de criterii se introduc mai multe criterii,


programul Access va selecta numai articolele care îndeplinesc

250
simultan toate criteriile menţionate, adică între criteriile introduse în
diferitele celule ale aceleaşi linii de criteriu se utilizează operatorul de
conjuncţie logică AND. În cazul în care criteriile sunt introduse în linii
diferite (un criteriu este specificat în linia Criteria, celelalte criterii în
linii având etichetele or), programul Access va selecta articolele, care
îndeplinesc oricare dintre criteriile menţionate (adică între aceste
criterii se utilizează operatorul de disjuncţie logică OR).
Expresiile utilizate în specificarea criteriului introduse într-o oarecare
celulă a liniei Criteria se pot combina cu ajutorul următorilor operatori
logici (utilizaţi mai frecvent):

Operator Semnificaţie Expresia introdusă în Valorile selectate


celula Criteria
>= 5 And <=10 Numere mai mari sau
egali decât 5 şi mai
mici sau egali decât
10.
Conjuncţie logică
And > #12/1/02# And Zile calendaristice
(operatorul ŞI)
< #12/31/02# mai mari decât 1
decembrie 2002 şi
mai mici decât 31
decembrie 2002.
Disjuncţie logică > 77 Or < 55 Numere mai mari
Or (operatorul SAU) decât 77 sau mai
mici decât 55.
Negaţie logică Not 55 Numere diferite de
Not
(operatorul NU) 55.

 Articolele afişate de o interogare pot fi sortate în funcţie de valorile


conţinute într-un câmp specificat al grilei. În acest scop se va efectua
un clic pe linia Sort a câmpului care urmează să fie sortat, moment în
care în celula respectivă va apare un buton corespunzător unei liste
combinate. Din această listă pot fi selectate trei valori:
– Ascending - sortare în ordine crescătoare, de exemplu de la A la
Z, de la 0 la 9, de la date calendaristice mai vechi la date
calendaristice mai recente;
– Descending - sortare în ordine descrescătoare, de exemplu de la Z
la A, de la 9 la 0, de la date calendaristice mai recente la date
calendaristice mai vechi;
– (not sorted) - fără sortare; se foloseşte atunci, când se doreşte
anularea unei sortări ascendente sau descendente specificate
anterior.
Dacă se cere realizarea unei sortări în funcţie de valorile conţinute în
mai multe câmpuri, programul Access va sorta secvenţial de la stânga

251
la dreapta, adică primul criteriu de sortare este specificat de conţinutul
câmpului situat în poziţia din stânga.
 Într-o interogare pot fi incluse anumite câmpuri doar pentru
stabilirea criteriilor de selectare sau de sortare. Pentru a împiedica
apariţia unui câmp în cadrul informaţiilor de ieşire ale interogării, în
linia Show a câmpului se va deselecta cutia de selectare
corespunzătoare, adică:
– reprezintă un câmp ascuns;
– reprezintă un câmp afişat.

Editarea unei interogări


O interogare creată anterior poate fi editată. În acest scop, în fereastra
bazei de date se alege fereastra corespunzătoare filei Queries, se efectuează
un clic pe numele interogării, după care se dă comanda Design, prin care se
afişează grila de proiectare a interogării. Operaţiile fundamentale de editare
sunt următoarele:

 Adăugarea, ştergerea sau modificarea criteriilor utilizate în interogare.


Aceste operaţii se pot efectua folosind linia Criteria a grilei de
interogare.
 Adăugarea, ştergerea sau deplasarea unor câmpuri utilizate în grila de
interogare.
Pentru a adăuga un nou câmp grilei de interogare,
câmpul respectiv (afişat în schema de tabel
afişată în partea superioară a grilei) trebuie tras
cu ajutorul mouse-ului într-o celulă liberă a liniei
Field.
Există posibilitatea de a depune tabele noi în grila de interogare.
Tabelele noi se pot depune în grilă prin comanda Show Table (meniul
Query).
Dacă se doreşte ştergerea unui câmp din grila de interogare, atunci se
efectuează un clic în selectorul de coloană corespunzător câmpului şi
se apasă tasta Delete. Prin selector de coloană se înţelege bara
orizontală situată deasupra unei coloane.
O coloană selectată poate fi mutată într-o
altă poziţie prin tragerea ei cu mouse-ul în
noua locaţie.
Lăţimea coloanelor grilei de interogare poate fi, de asemenea,
modificată. Prima dată se aşează cursorul de mouse pe marginea
verticală din dreapta selectorului de coloană. În momentul în care se
modifică forma cursorului de mouse, se efectuează o tragere
orizontală.

252
 Ascunderea sau reafişarea unor câmpuri utilizate în grila de interogare.
Aceste operaţii se realizează folosind casetele de selectare plasate în
linia Show a grilei de interogare.
 Dacǎ fereastra de proiectare a interogării conţine mai multe tabele
asociate, între câmpurile asociate va apare o linie. Uneori este
necesară modificarea acestor asocieri. Modificarea asocierii afectează
numai modul în care actuala interogare va selecta articolele, deci nu
are nici un efect asupra relaţiilor stabilite între tabele. Pentru ştergerea
unei asocieri (din actuala interogare) se va efectua un clic pe linia de
reprezentare a relaţiei şi se va acţiona tasta Delete. Dacă se doreşte
crearea unei alte asocieri, atunci se va trage câmpul din tabelul primar
peste câmpul din tabelul asociat. Pentru afişarea ferestrei de dialog
prin care se poate stabili tipul de asociere se va efectua un dublu clic
pe linia de reprezentare a relaţiei.

Afişarea articolelor livrate de o interogare (executarea unei


interogări)

 În fereastra bazei de date se efectuează un clic pe butonul


(interogări).
 Din lista de interogări, printr-un clic se alege interogarea dorită.

 Se efectuează un clic pe butonul de comandă (Open,


deschidere). În urma acestei acţiuni pe ecran se afişează articolele
livrate de interogare, în modul de afişare tip foaie de date (Datasheet
View).

Un alt mod pentru afişarea articolelor livrate de o interogare este efectuarea


unui dublu clic pe numele interogării respective.

Ştergerea unei interogări


 În fereastra bazei de date se efectuează un clic pe butonul
(interogări).
 Din lista de interogări, printr-un clic se alege interogarea dorită.
 Se efectuează un clic pe butonul de comandă (Delete). Variantă:
se acţionează tasta DELETE. Se afişează o fereastră de avertisment.
Operaţia de ştergere de interogare trebuie validată cu Yes sau
invalidată cu No.

Salvarea şi închiderea unei interogări

253
Dacă se fac operaţii de editare în grila de interogare, interogarea respectivă
trebuie salvată prin efectuarea unui clic pe butonul de comandă (Save).
Variantă: din meniul File se dă comanda Save.
Pentru închiderea unei interogări se va efectua un clic pe butonul
(Close, situat în partea dreapta sus a ferestrei aferente interogării).
Variantă: din meniul File se dă comanda Close.

5.4.4 Sortarea articolelor


Programul Access dispune de comenzi prin care se poate realiza sortarea în
ordine crescătoare (de la A la Z, de la 0 la 9) sau descrescătoare a articolelor (de
la Z la A, de la 9 la 0), în funcţie de valorile conţinute într-un câmp selectat.

Prin comenzi simple pot fi sortate:


 articolele unui tabel (în modul de vizualizare tip foaie de date);
 articolele livrate de o interogare (în modul de vizualizare tip foaie de
date);
 articolele unui formular (în modul de vizualizare tip foaie de date şi în
modul de vizualizare tip formular).

Este posibilă sortarea articolelor, care au fost filtrate anterior.


 În modul de afişare tip foaie de date sau tip formular se efectuează un
clic pe numele câmpului, ale căror valori urmează să fie utilizate în
procesul de sortare. În urma acestei operaţii se selectează coloana
corespunzătoare câmpului.
 Dacă se doreşte sortarea în ordine crescătoare, atunci în meniul
Records se va indica submeniul Sort şi se va da comanda Sort
Ascending.
Variantă: clic pe butonul de comandă . Dacă se doreşte sortarea în
ordine descrescătoare, atunci în meniul Records se va indica
submeniul Sort se va da comanda Sort Descending.
Variantă: clic pe butonul de comandă .
Ordinea de sortare aplicată unui tabel, unei interogări sau unui formular
poate fi îndepărtată; astfel se revine la ordinea existentă înainte de sortare. În
acest scop, în modul de afişare tip foaie de date sau tip formular, se va da
comanda Remove Filter/Sort (eliminare filtrare/sortare, meniul Records).

5.5 Rapoarte
Examinarea (vizualizarea) unui raport creat anterior

254
 În fereastra bazei de date se efectuează un clic pe butonul
(rapoarte, buton situat lângă marginea din stânga a ferestrei).
 Din lista de rapoarte printr-un clic se alege raportul dorit.
 Se efectuează un clic pe butonul de comandă (Preview,
examinare). În urma acestei acţiuni pe ecran se afişează raportul
respectiv, folosind modul vizualizare "examinare înaintea imprimării"
(Print Preview).
Un alt mod pentru vizualizarea unui raport este efectuarea unui dublu clic
pe numele raportului respectiv.

Crearea şi salvarea unui raport

 În fereastra bazei de date se execută un clic pe butonul (rapoarte).


 Se execută un dublu clic pe comanda Create report by using Wizard
(crearea raportului utilizând expertul). În urma acestei acţiuni se
afişează prima fereastră a expertului de raport:

 Din lista combinată Tables/Queries se aleg tabelele (interogările)


utilizate în raport. După selectarea unui astfel de obiect în lista
Available Fields (câmpuri disponibile) se vor afişa câmpurile
disponibile ale obiectului respectiv. Din lista Available Fields printr-
un clic se selectează un nume de câmp, după care se execută un clic pe
butonul . Câmpul selectat se va deplasa în zona etichetată cu
Selected Fields (câmpuri selectate). Se repetă procedura pentru fiecare
câmp utilizat în raport. În continuare din lista combinată
Tables/Queries se pot selecta şi alte tabele sau interogări, iar câmpurile
necesare în raport se vor depune în lista Selected Fields. După ce au
fost desemnate toate câmpurile utilizate în raport se acţionează butonul
de comandă Next, prin care se trece la pasul următor al expertului.

255
 Această fereastră a expertului se referă la o eventuală grupare a
articolelor din raport, în funcţie de valorile conţinute într-un câmp
specificat. Dacă se doreşte gruparea articolelor în funcţie de valorile
unui câmp, în lista din stânga se efectuează un clic pe numele
câmpului respectiv şi se acţionează butonul . Pot fi selectate mai
multe niveluri de grupare. În exemplul nostru au fost selectate două
niveluri de grupare. Primul nivel de grupare se bazează pe conţinutul
câmpului Continent, iar nivelul al doilea pe conţinutul câmpului Tara.
După stabilirea nivelurilor de grupare se va acţiona butonul de
comandă Next.

256
 Această fereastră a expertului se referă la ordinea de sortare a valorilor
din câmpurile, care vor fi plasate în secţiunea de detalii ale raportului
(în această secţiune pot fi sortate numai câmpurile, care nu sunt
utilizate pentru grupări). Operaţia de sortare a articolelor din secţiunea
de detalii poate fi realizată după cel mult patru câmpuri, în ordine
crescătoare sau descrescătoare. În exemplul nostru s-a cerut sortarea
crescătoare a articolelor din secţiunea de detalii după valorile
conţinute în câmpul Nume. După stabilirea opţiunilor de sortare se va
acţiona butonul de comandă Next.

 În noua fereastră a expertul se poate stabili modul de aşezare a


raportului în pagină precum şi orientarea paginii utilizate. Butoanele
de opţiune afişate în zona Layout (aspect) permit selectarea modului
de aşezare a raportului în pagină. Efectul lor poate fi vizualizat chiar în
interiorul ferestrei de dialog (în partea din stânga a ferestrei).
Butoanele de opţiune din zona Orientation se referă la orientarea
paginii imprimate (portret sau vedere). Fereastra este prevăzută şi cu o
casetă de selectare. Dacă caseta este selectată, atunci lăţimea
câmpurilor raportului vor fi ajustate de programul Access astfel încât
toate câmpurile să încapă în pagină. După selectarea acestor opţiuni se
va acţiona butonul de comandă Next.
 Din fereastra afişată se alege stilul care urmează să fie utilizat de
antetulul raportului precum şi de etichetele şi controalele afişate în
secţiunea de detalii ale raportului. Stilurile pot fi vizualizate în
interiorul ferestrei de dialog. După selectarea stilului preferat se va
acţiona butonul de comandă Next.

257
 În ultima fereastră a expertului se stabileşte titlul raportului. Prin
aplicarea unui clic pe butonul de comandă Finish se termină
activitatea expertului de raport.

Raportul creat de vrăjitor este salvat automat şi este afişat în modul de


vizualizare "examinare înaintea imprimării" (Print Preview). Acest mod de
vizualizare poate fi modificat în modul de vizualizare tip proiect (Design View).
Comenzile de alegere a modului de vizualizare utilizat se găsesc în meniul
View.
Un raport grupat după conţinutul câmpurilor Continent şi Ţara şi sortat
crescător după conţinutul câmpului Nume poate avea aspectul de mai jos:

Editarea unui raport creat anterior


Prin editarea unui raport vom întelege următoarele operaţii:
 Modificarea ordinii de afişare a câmpurilor în structura raportului.
 Gruparea şi sortarea datelor după diferite câmpuri.
 Introducerea formulelor în anteturile şi subsolurile de raport, prin care
se pot apela funcţii tip agregat (SUM, MIN, MAX, AVG, COUNT).
 Adăugarea şi modificarea textelor în antetul şi subsolul unui raport.

258
Aceste operaţii de editare se pot realiza numai dacă raportul este deschis în
modul de afişare tip proiect (Design View). În acest scop în fereastra bazei de

date se efectuează un clic pe butonul (rapoarte), din lista de rapoarte


printr-un clic se alege raportul dorit şi se efectuează un clic pe butonul de
comandă (Design), prin care se deschide raportul în modul de
vizualizare tip proiect. Un raport afişat în acest mod de vizualizare poate avea
aspectul din captura de mai jos:

Un raport se compune de regulă din mai multe secţiuni. Secţiunea de


detalii (Detail) a raportului se repetă pentru fiecare articol în momentul în care
raportul este afişat în modul de vizualizare "examinare înaintea imprimării".
În afara secţiunii de detalii, un raport poate avea un antet şi un subsol al
raportului (Report Header şi Report Footer), un antet şi un subsol al paginii
(Page Header şi Page Footer) precum şi antete şi subsoluri pentru un număr de
până la zece nivele de grupare.
Antetele şi subsolurile aferente raportului şi paginii se pot afişa / ascunde
prin comenzile Report Header / Footer şi Page Header / Footer (meniul
View). Antetul şi subsolul de pagină definesc elementele care vor fi imprimate
în partea de sus şi de jos a fiecărei pagini. Antetul de raport apare numai pe
prima pagină a raportului şi joacă rolul unui titlu pentru întregul raport.
Subsolul de raport apare numai pe ultima pagină a raportului.

Modificarea ordinii de afişare a câmpurilor în structura unui raport


Câmpurile afişate în secţiunea de detalii a unui raport sunt reprezentate cu
ajutorul controalelor tip cutie text (Text Box). Prin operaţii simple, efectuate cu
ajutorul mouse-ului, aceste cutiile text se pot muta în altă locaţie a raportului,

259
prin care se modifică ordinea de afişare a câmpurilor în structura raportului.
Pentru mutarea unui control se va utiliza următorul algoritm:
 Se execută un clic pe controlul care urmează să fie mutat într-o altă
locaţie a raportului. Pentru a selecta mai multe controale, în timpul
selectării lor se ţine apăsată tasta SHIFT. În jurul controlului apar opt
pătrăţele utilizate în procesul de redimensionare.
 Se indică marginea superioară a controlului, moment în care cursorul
mouse-ului se transformă într-o mână cu cinci degete întinse.
 În acest moment se trage controlul într-o nouă locaţie. În momentul în
care se ajunge în locaţia dorită, se eliberează butonul de mouse.

Pentru ştergerea unui control se efectuează un clic pe controlul respectiv şi


se acţionează tasta DELETE.

Modificarea sau definirea grupării şi sortării datelor unui raport


 Se deschide raportul în modul de vizualizare tip proiect.

 Se efectuează un clic pe butonul Sorting And Grouping . Variantă:


din meniul View se dă comanda Sorting and Grouping. În urma
acestei acţiuni se afişează fereastra etichetată cu Sorting and
Grouping. Cu această fereastră se poate modifica sau stabili modul în
care se vor grupa datele (şi anume după valorile căror câmpuri şi în ce
ordine).

 În prima linie a coloanei Field/Expression se efectuează un clic pe


butonul şi din lista afişată se selectează un nume de câmp pe care
se bazează primul criteriu de grupare. În următoarea linie se va
introduce un alt nume de câmp pe care se bazează cel de al doilea
criteriu de grupare ş.a.m.d. În momentul completării coloanei
Field/Expression programul Access va alege automat ordinea

260
crescătoare de sortare a grupărilor, adică în coloana Sort Order
(ordinea de sortare) se va depune valoarea Ascending (ordinea
crescătoare). Ordinea de sortare a unei grupări poate fi modificată dacă
în linia corespunzătoare grupării se efectuează un clic pe celula din
coloana Sort Order şi se alege varianta Descending.
 Proprietăţile unei grupări pot fi configurate. În acest scop printr-un clic
aplicat în coloana Field/Expression se alege gruparea respectivă;
proprietăţile grupării desemnate se stabilesc prin subfereastra Group
Properties. Principalele proprietăţi ale unei grupări sunt prezentate în
tabelul următor:

Proprietate Descriere
Dacă se alege varianta Yes, atunci pentru câmpul selectat din coloana
Field/Expression se va crea o grupare de articole şi în raport se va
genera o secţiune de antet de grupare. În urma acestei acţiuni în
selectorul de linie al câmpului (în prima coloană a ferestrei de sortare şi
Group Header grupare) se afişează un indicator de grupare, care are forma .
Programul Access adaugă o secţiune de antet de grupare în fereastra de
proiectare a raportului, în faţa secţiunii de detalii a raportului. În această
secţiune ulterior se pot depune, de exemplu, cutii text. În cutiile text
respective se pot depune formule. Valoarea implicită a proprietăţii
Group Header este No (nu se creează antet de grupare).
Dacă se alege varianta Yes, atunci pentru câmpul selectat din coloana
Field/Expression se va crea o grupare de articole şi în raport se va
genera o secţiune de subsol de grupare. În urma acestei acţiuni în
selectorul de linie al câmpului se afişează un indicator de grupare .
Group Footer Programul Access adaugă o secţiune de subsol de grupare în fereastra
de proiectare a raportului, după secţiunea de detalii a raportului. În
această secţiune ulterior se pot depune, de exemplu, cutii text. În cutiile
text respective se pot depune formule. Valoarea implicită a proprietăţii
Group Footer este No (nu se creează subsol de grupare).

Introducerea în antetele şi subsolurile unui raport a diferitelor


formule
În antetele şi subsolurile unui raport se pot insera cutii text. Conţinutul
acestor cutii text de obicei sunt apeluri de funcţii tip agregat, care livrează
valori globale referitoare la câmpurile existente în grupare. Se menţionează
faptul că formulele existente în cutii text se pot depune în orice tip de antet şi
de subsol (grupare, pagină sau raport).
Fiind în modul de vizualizare tip proiect, pentru introducerea unei cutii text
într-un antet/subsol se va verifica dacă este vizibilă cutia de unelte. Afişarea,
respectiv ascunderea casetei de instrumente se realizează prin meniul View,
comanda Toolbox. Pentru a introduce o cutie text în antetul sau în subsolul unui
raport se va efectua un clic pe butonul (Text Box) al casetei de instrumente.
După acţionarea acestui buton printr-un clic se desemnează antetul sau subsolul

261
dorit şi se deplasează mouse-ul. În momentul eliberării butonului mouse-ului în
antetul/subsolul desemnat se vor crea două controale: un control tip etichetă şi
un control tip text.

În controlul etichetă (controlul din stânga) se va tasta un text prin care se


descrie succint rolul formulei. În controlul cutie text (controlul din dreapta) se
va tasta o formulă. În antetele şi subsolurile unui raport de obicei se depun
următoarele formule:

Formulă Semnificaţie
Suma valorilor din câmpul NumeCâmp în cadrul grupării,
= SUM ([NumeCâmp])
paginii sau raportului întreg.
Numărul de valori din câmpul NumeCâmp în cadrul grupării,
= COUNT([Oraşe])
paginii sau raportului întreg.
Minimul valorilor din câmpul NumeCâmp în cadrul grupării,
=MIN([Locuitori])
paginii sau raportului întreg.
Maximul valorilor din câmpul NumeCâmp în cadrul grupării,
= MAX([Locuitori])
paginii sau raportului întreg.
Media aritmetică a valorilor din câmpul NumeCâmp în cadrul
= AVG([Locuitori])
grupării, paginii sau raportului întreg.

De exemplu, în subsolul unei grupări, bazată pe valorile câmpului JudetID,


al unui raport, s-au introdus următoarele formule:

Acest subsol, în modul de vizualizare înainte de imprimare, are aspectul


alăturat:

Adăugarea şi modificarea textelor şi a imaginilor în anteturile şi


subsolurile unui raport

262
Pentru a introduce un text (etichetă) în antetul sau în subsolul unui raport
se va efectua un clic pe butonul (Label) al cutiei de unelte. După
acţionarea acestui buton se selectează în antetul sau subsolul dorit locaţia unde
se va poziţiona şirul de caractere, după care se tastează şirul respectiv. Pentru a
introduce o imagine grafică în antetul ori în subsolul unui raport se va efectua
un clic pe butonul (Image) al cutiei de unelte. După acţionarea acestui
buton se selectează în antetul sau subsolul dorit locaţia unde se va poziţiona
imaginea. Se afişează fereastra de dialog prin care se stabileşte imaginea dorită.
Modificarea unui text se realizează prin selectarea etichetei respective şi
operarea editărilor dorite. Îndepărtarea etichetelor şi a imaginilor din zonele de
antet/subsol se face prin efectuarea unui clic pe controlul respectiv şi acţionarea
tastei DELETE.

Ştergerea unui raport


Pentru a şterge un raport, în fereastra bazei de date se selectează raportul
respectiv şi se efectuează un clic pe butonul de comandă (Delete).
Variantă: din meniul Edit se dă comanda Delete, care are tasta de
comenzi rapide DELETE. Se afişează o fereastră de avertisment. Operaţia de
ştergere de raport trebuie validată cu Yes sau invalidată cu No.

Salvarea şi închiderea unui raport


Dacă se fac operaţii de editare într-un raport, raportul respectiv trebuie
salvat prin efectuarea unui clic pe butonul de comandă (Save).
Variantă: din meniul File se dă comanda Save.
Pentru închiderea unui raport se va efectua un clic pe butonul (Close,
situat în partea dreapta sus a ferestrei aferente interogării).
Variantă: din meniul File se dă comanda Close.

5.6 Pregătirea rezultatelor

Vizualizarea (examinarea) înainte de imprimare a unui tabel,


formular sau raport
Înainte de a lansa în execuţie operaţia de imprimare a unui tabel, formular
sau raport, se recomandă lansarea în execuţie a comenzii de vizualizare a
obiectului care se va imprima în modul prealabil imprimării. Acest mod poate fi
declanşat prin selectarea obiectivului din fereastra bazei de date şi lansarea
comenzii Print Preview (meniul File). Această comandă poate fi accesată şi
prin butonul de comandă (Print Preview, bara de unelte Database). Dacă

263
aspectul obţinut corespunde cerinţelor dvs, se poate cere imprimarea imediată a
obiectului analizat.

Configurarea opţiunilor referitoare la pagina utilizată în procesul de


imprimare
 Se deschide tabelul, intrerogarea, formularul sau raportul. În cazul
unui tabel sau al unei interogări se va utiliza modul de vizualizare tip
foaie de dată sau modul de vizualizare înainte de imprimare. Un
formular sau un raport poate fi deschis în orice mod de vizualizare.
 Din meniul File se dă comanda Page Setup (iniţializare pagină). Se
afişează o fereastră de dialog formată din filele Margins, Page,
eventual şi Columns.

 Prin fila Margins a ferestrei de dialog Page Setup se stabileşte


dimensiunea zonei de imprimare, adică se stabilesc cele patru margini
utilizate (măsurătorile se dau în inchi, se va imprima doar în interiorul
celor patru margini). În cazul formularelor şi rapoartelor prin caseta de
selectare Print Data Only se stabileşte dacă se vor imprima doar datele
şi se omite imprimarea etichetelor, bordurilor, liniilor de reţea,
imaginile grafice ale liniilor şi cutiilor. În cazul imprimării tabelelor
sau a articolelor livrate de o interograre prin caseta de selectare Print
Headings se poate cere imprimarea anteturilor.
 Prin fila Page a ferestrei de dialog se stabileşte orientarea hârtiei
utilizate la imprimare. Variantele posibile sunt opţiunile Portrait
(portret, se imprimă paralel cu marginea mai îngustă a hârtiei) şi
Landscape (vedere, se imprimă paralel cu marginea mai lată a hârtiei).

264
Prin lista combinată Size, situată în subfereastra Paper, se alege
dimensiunea hârtiei, de exemplu A4, precum şi modul de alimentare
cu hârtie a imprimantei. De asemenea, se poate stabili imprimanta
utilizată (cea implicită sau o imprimantă specificată).
 În cazul formularelor şi rapoartelor fereastra de dialog conţine o şi filă
Columns prin care se stabileşte numărul, dimensiunea şi modul de
implementare a coloanelor.

Opţiuni pentru imprimare


Opţiunile utilizate în procesul de imprimare se pot stabili prin meniul File,
comanda Print.

În această fereastră de dialog, prin lista combinată Name situată în


subfereastra Printer se alege tipul imprimantei utilizată în procesul de
imprimare. Dacă se doreşte imprimarea într-un fişier disc, de extensie PRN,
atunci se selectează caseta de selectare Print to File. Numărul de copii dorite se
introduce în cutia Number of Copies.

Imprimarea foii de date corespunzătoare unui tabel, a unei


interogăre sau a unui formular (adică a tuturor articolelor aferente
obiectului )
 Se deschide tabelul, interogarea sau formularul în modul de
vizualizare tip foaie de dată.
 Din meniul File se dă comanda Print.
 Din subfereastra Print Range se alege butonul de opţiune All.

265
 Se stabilesc şi celelalte opţiuni ale ferestrei de dialog şi se dă comanda
OK.
Imprimarea articolelor selectate dintr-o foaie de date a unui tabel, a
unei interogări sau a unui formular
 Se deschide tabelul, interogarea sau formularul în modul de
vizualizare tip foaie de dată.
 Se selectează articolele care se vor imprima.
 Din meniul File se dă comanda Print.
 Din subfereastra Print Range se alege butonul de opţiune Selected
Record(s).
 Se stabilesc şi celelalte opţiuni ale ferestrei de dialog şi se dă comanda
OK.

Imprimarea tuturor articolelor unui tabel sau a articolelor livrate de


o interogare folosind formularul corespunzător obiectului
 Se deschide formularul corespunzător obiectului în modul de
vizualizare tip formular (Form View) sau în modul de vizualizare tip
foaie de dată (Datasheet View).
 Din meniul File se dă comanda Print.
 Din subfereastra Print Range se alege butonul de opţiune All.
 Se stabilesc şi celelalte opţiuni ale ferestrei de dialog şi se dă comanda
OK. Formularul este imprimat în modul de vizualizare specificat de
proprietatea DefaultView.

Imprimarea articolelor selectate ale unui tabel sau a articolelor


livrate de o interogare, folosind formularul corespunzător
obiectului
 Se deschide formularul corespunzător obiectului în modul de
vizualizare tip formular sau în modul de vizualizare tip foaie de dată.
 Se selectează articolele dorite prin efectuare de clicuri pe selectori de
date (dacă se doreşte selectarea mai multor articole, atunci se va
efectua un clic pe primul selector de articol şi se deplasa cursorul
mouse-ului până la ultimul selector de articol care se va imprima).
 Din meniul File se dă comanda Print.
 Din subfereastra Print Range se alege butonul de opţiune Selected
Record(s).
 Se stabilesc şi celelalte opţiuni ale ferestrei de dialog şi se dă comanda
OK.

Imprimarea unui raport

266
 În fereastra bazei de date se selectează raportul respectiv şi se deschide
folosind modurile de vizualizare tip proiect (Design View), examinare
înantea imprimării (Print Preview) sau vizualizare tip implementarea
(Layout Preview).
 Din meniul File se dă comanda Print.
 Din subfereastra Print Range se alege butonul de opţiune Pages, după
care se specifică numărul paginilor dorite folosind cutiile text From
(de la) şi To (până la).
 Se stabilesc şi celelalte opţiuni ale ferestrei de dialog şi se dă comanda
OK.

267