You are on page 1of 50

CUPRINS

MICROSOFT ACCESS 2003 ...............................................................................................................................5

1. BAZA DE DATE ................................................................................................................................................7


1. 1. Noiune de baz de date. Tipuri de BD. ...........................................................................................7
1.2. Gestiunea bazelor de date. .................................................................................................................8
1.3. Administrarea bazelor de date. ..........................................................................................................9

2. MS ACCES 2003 ..............................................................................................................................................10


2.1. SGBD Access. Caracteristica general..........................................................................................10
2.2. Lansarea sistemului MS Access 2003 .............................................................................................10
2.3. Crearea / accesarea unei baze de date .............................................................................................11
2.4. nchiderea / redeschiderea bazei de date .........................................................................................13
2.5. Ieirea din Access .............................................................................................................................13

3. TABELE ACCESS. ..........................................................................................................................................14


3.1. Crearea unui tabel ...........................................................................................................................14
3.2. Caracteristicile cmpurilor ..............................................................................................................15
3.3. Stabilirea cheilor primare ................................................................................................................16
3.4. Proprietile cmpurilor...................................................................................................................17
3.5. Specificarea valorilor prestabilite ....................................................................................................19
3.6. Stabilirea unor condiii de validare .................................................................................................19
3.7. Modificarea descrierii unui tabel ....................................................................................................20
3.8. Introducerea datelor n tabel ...........................................................................................................21
3.9. Redactarea datelor ...........................................................................................................................23
3.10. Modificri ce nu afecteaz structura fundamental ....................................................................24
3.11. Relaii dintre tabele. Integritatea datelor.......................................................................................26

4. FUNCII ACCESS ..........................................................................................................................................31

4.1. Interogri Access .............................................................................................................................33


4.2. Tipuri de interogri ..........................................................................................................................34
4.3. Interogri de selecie a nregistrrilor(Select Query) .....................................................................35
4.4. Interogri de sortare a nregistrrilor ............................................................................................42
4.5. Interogri de actualizare a nregistrrilor (Update Query) ...........................................................44
4.6. Interogri de excludere a nregistrrilor (Delete Query) ...............................................................46
4.7 . Interogri de grupare i totalizare a nregistrrilor .......................................................................48
4.8. Interogri ncruciate (Crosstab Query) ........................................................................................50

MICROSOFT ACCESS 2003

Microsoft Access 2003 este aplicaia de management al bazelor de


date pus la dispoziie de suita Microsoft Office. Spre deosebire de Excel,
Access va permite s stocm i s administrm volume mari de date, organizate
n uniti numite nregistrri. O baz de date Access const din urmtoarele
obiecte:
Tabele conin toate nregistrrile
Interogri localizeaz nregistrri specifice
Formulare afieaz nregistrrile din tabele, una cte una
Rapoarte tipresc loturi de nregistrri
Pagini de acces la date pun la dispoziie date prin
intermediul paginilor Web
Macrocomenzi aciuni automate uzuale
Module stocheaz declaraii si proceduri Visual Basic, care
ne permit s scriem programe pentru bazele de date, astfel nct acestea s
poat interaciona cu alt software.
Utilitarele de asisten din aplicaia Access asigur un proces
simplu, pas cu pas, de configurare a tabelelor, formularelor, paginilor de acces la
date, rapoartelor i interogrilor.
Prezenta lucrare conine 5 paragrafe.
1 conine noiuni de baze de date, tipuri BD. O baz de date (BD)
reprezint o colecie de date integrat, anume structurat i dotat cu o descriere
a structurii i a relaiilor dintre date.
2 conine caracteristica general a SGBD Access.
3 conine tabelele Access ,care n baza lor se definesc celelalte
clase de obiecte.
5

4 conine funcii Access.


Ultimul conine interogri Access care include i subpunctele
interogri de selecie,de sortare, de actualizare a datelor,de excludere a
nregistrrilor, de grupare i totalizare i interogri ncruciate.

1. BAZA DE DATE

1. 1. Noiune de baz de date. Tipuri de BD.


Printre multiplele forme de organizare a datelor, bazele de date ocup
un loc aparte.
O baz de date (BD) reprezint o colecie de date integrat, anume
structurat i dotat cu o descriere a structurii i a relaiilor dintre date.
n funcie de modul de organizare a informaiilor, se cunosc cteva
modele de BD:
ierarhic (arborescent),
reea,
relaional .a.
Modelul ierarhic. Cu ajutorul modelului conceptual ierarhic, schema
bazei de date poate fi reprezentat sub forma unui arbore n care nodurile
exprim colecii de date, iar ramurile reflect relaiile de asociere ntre
nregistrrile coleciilor de date superioare i inferioare.
Accesul la nregistrrile coleciilor de date inferioare se face prin
traversarea arborelui, adic se parcurg toate coleciile aflate n subordonare
ierarhic dintre colecia rdcin i colecia cercetat. Unui element superior i
pot corespunde unul sau mai multe elemente inferioare, iar unui element inferior
i corespunde un singur element superior.
Modelul reea. Modelul reea se aseamn cu cel ierarhic, diferena
constnd n aceea c unui element inferior i pot corespunde unul sau mai multe
elemente superioare.

Modelul relaional. Modelul relaional este n prezent cel mai rspndit


model de baze de date. Acest model are o singur structur de date: relaia sau
tabelul. O baz de date relaional este un ansamblu de relaii (tabele) grupate
n jurul unui subiect bine definit. Deci, o relaie poate fi redat printr-un tabel, n
care fiecare rnd reprezint o nregistrare diferit, iar fiecare coloan un atribut.
Coloanele tabelului sunt identificate prin nume diferite i reprezint cmpurile
(atributele, caracteristicile) modelului conceptual. n fiecare coloan datele
trebuie s fie de acelai tip. Cutarea n acest model de BD se face secvenial
toate articolele i comparnd criteriile de cutare. Articolele ce satisfac conditiei
cutrii se selecteaz i pot fi afiate.
Subiectele pe care se axeaz tabelele unei BD pot fi cele mai diverse:
activitatea unei firme, stocarea mrfurilor la un depozit, rezultatele unui
recensmnt,etc. Dei n modelul relaional principala structur de date o
reprezint tabelul, o baz de date este mai mult dect o simpl mulime de
tabele. Pe parcurs vom vedea c ntre tabelele bazei de date exist o
interdependen strns, n timp ce ntre tabelele de calcul obinuite aceast
interdependen practic lipsete.

1.2. Gestiunea bazelor de date.


Sistemul de gestiune a bazelor de date (SGBD) este acel sistem de
programe care faciliteaz i supervizeaz introducerea de informaii n baza de
date, actualizarea i extragerea din baz, controlul i autorizarea accesului la
date. Un sistem de gestiune a bazelor de date trebuie s fie capabil s
ndeplineasc urmtoarele funcii:
de descriere ,care rezid n definirea structurii datelor, a relaiilor
dintre acestea i a condiiilor de acces la informaiile coninute n baza de date;

de actualizare, care presupune inserarea, redactarea i suprimarea


datelor;
de interogare a BD, care permite obinerea diferitor informaii din BD
conform unor criterii de cutare;
de obinere de date noi, care const n prelucrarea informaiei iniiale
n scopul obinerii unor totaluri, medii etc.;
de ntreinere, care const n crearea copiilor de rezerv, compactarea
BD i repararea ei n cazul deteriorrii;
de securitate a datelor, care rezid n protejarea BD mpotriva
accesului neautorizat i n atribuirea drepturilor de acces.

1.3. Administrarea bazelor de date.


Administrarea BD presupune coordonarea lucrrilor de proiectare a
BD, protecia (securitatea) informaiei, dezvoltarea BD,etc. Aceste funcii le
ndeplinete Administratorul Bazei de Date (ABD). El definete obiectele
sistemului , elaboreaz principiile de protecie a datelor, rspunde de alegerea i
implementarea SGBD, asigur funcionarea normal a sistemului.

2. MS ACCES 2003

2.1. SGBD Access. Caracteristica general


La nceputul anilor 80 s-a produs o trecere n mas la elaborarea i
utilizarea sistemelor de gestiune a bazelor de date de tip relaional. Acest
fenomen se explic prin atingerea unor limite tehnice i prin flexibilitatea redus
a sistemelor de gestiune a bazelor de date cu structuri arborescente i reea care
se foloseau pn atunci. nzestrate cu limbaje de generaia a patra i cu
generatoare de aplicaii puternice , SGBD de tip relaional ofer numeroase
faciliti de proiectare i dezvoltare a aplicailor .Cele mai rspndite SGBD de
acest tip sunt: Oracle, Informix, SyBase, MySQL, Interbase, Access, acesta din
urm fiind subiectul capitolului de fa.
Sistemul de gestiune a bazelor de date MS Access 2003 (i versiunile
care l-au precedat) a fost realizat de corporaia Microsoft i reprezint o nou
ideologie n acest domeniu, avnd performane sporite.

2.2. Lansarea sistemului MS Access 2003


SGBD MS Access funcioneaz numai n mediul Windows. Exist mai
multe modaliti de lansare a sistemului Access, una din ele fiind executarea
consecutiv

aciunilor

Start/All

Programs(sau

Programs)/Microsoft

Office/Microsoft Office Access 2003.


Ca rezultat, obinem o fereastr, asemntoare cu cea din figura 1.

10

Figura 1. - Lansarea sistemului Access

2.3. Crearea / accesarea unei baze de date


Dup cum am mai menionat, elementele principale ale unei baze de
date sunt tabelele. Dar o baz de date poate conine i alte elemente care se
creeaz pe baza tabelelor (interogri, formulare, rapoarte etc.). Aceste elemente,
mpreun cu tabelele, formeaz aa-numitele clase de obiecte ale bazei de date.
Pentru a crea o baz de date nou, n zona Open a ferestrei reprezentate
n figura 1 alegem opiunea Create a new file, iar n caseta urmatoare - opiunea
Blank Database. Putem, de asemenea, utiliza comenzile de creare/accesare a
bazelor de date din meniul File.

11

Figura .2
Pentru a deschide o baz de date existent n zona Open a ferestrei
reprezentate n figura 1 executm un clic pe denumirea uneia din bazele de date
utilizate recent sau selectm opiunea More pentru a accesa o baz de date
amplasat pe un dispozitiv de memorie auxiliar. n caseta de dialog care apare
indicm numele BD

Figura.3

12

(de ex., BIBL) i localizarea ei (discul, dosarul).Obinem o fereastr n


care sunt disponibile cele 7 clase de obiecte Access.

Figura. 4 - Fereastra cu clasele de obiecte Access

2.4. nchiderea / redeschiderea bazei de date


nchiderea unei baze de date poate fi fcut prin executarea comenzii
Close din meniul File sau prin acionarea butonului

din bara de titlu a bazei

de date. De regul, la nchidere, sistemul salveaz automat baza de date


mpreun cu toate obiectele pe care le conine. nchiderea unei baze de date nu
nseamn i nchiderea aplicaiei MS Access, astfel nct putem deschide o alt
de date sau crea o baz de date nou, n modul descris mai sus.

2.5. Ieirea din Access


Ieirea din MS Access poate fi fcut n unul din urmtoarele moduri:
se apas combinaia de taste Alt+F4;
se execut comanda Exit din meniul File;
se acioneaz butonul

din bara de titlu a aplicaiei


13

3. TABELE ACCESS.

3.1. Crearea unui tabel


Dup ce am deschis o baz de date , eveniment confirmat prin apariia
ferestrei cu cele 7 clase de obiecte (fig.4) , putem crea diferite obiecte n oricare
din clasele nominalizate. Dar deoarece fiecare din clasele Queries, Forms,
Reports, Pages, Macros i Modules se definesc n baza tabelelor, acestea
(tabelele) trebuie create n primul rnd. Cu alte cuvinte, dac o BD nu conine
cel puin un tabel, crearea altor clase de obiecte devine lipsit de sens.
Pentru a crea un tabel nou ,de exemplu, Comenzi, selectm clasa de
obiecte Tables, apoi acionm butonul

. Caseta de dialog New Table care

apare (fig.5) ne ofer 5 moduri de definire a structurii tabelului.

Figura. 5 - Moduri de definire a structurii unui tabel


Dac selectm opiunea Design View i acionm butonul OK, obinem o
fereastr
(fig.6) n care definim cmpurile tabelului i caracteristicile lor.

14

Figura. 6. - Definirea cmpurilor tabelului Comenzi

3.2. Caracteristicile cmpurilor


Pentru fiecare cmp al tabelului se specific 3 caracteristici, i
anume:
Field Name (denumirea cmpului, obligatoriu);
Data Type (tipul cmpului, obligatoriu);
Description (descrierea cmpului, opional).
Pentru comoditate, denumirile cmpurilor se introduc

pe

vertical, urmnd ca n regimul de introducere a datelor Datasheet View


denumirile cmpurilor s-i ocupe poziiile obinuite (pe orizontal).
Regimul Design View nu permite introducerea nregistrrilor n tabel, ci doar
descrierea cmpurilor care alctuiesc tabelul.
Denumirea cmpului poate conine diferite caractere, inclusiv spaii, cu
excepia unor semne speciale ( ".", "!" .a.). n caz de necesitate, denumirea
poate conine semnul "_" (subliniere). Lungimea denumirii cmpului
(mpreun cu spaiile) nu poate depi 64 de caractere.
Exemple: autorul;Id_ rii; locul_ de_ munc; LoculDeMunc; Locul de
Munc.
15

Tipul cmpului poate fi unul din urmtoarele:


Text - pentru texte sau numere care nu vor fi folosite n calcule;
Memo - pentru texte lungi (biografia autorului, rezumatul crii etc.).
Number - pentru numere care vor fi folosite n calcule;
Date/Time - pentru date calendaristice;
Currency - pentru valori bneti;
AutoNumber - pentru numere ntregi care i mresc n mod automat
valorile (numrul de ordine, de exemplu);

Yes/No - pentru valori logice care pot lua numai dou valori: Yes

(adevr), No (fals);
OLE Object - pentru imagini (fotografia autorului), sunete (imnul rii).
Hyperlink - pentru adrese Hyperlink. Valorile acestui cmp pot fi
adrese Internet (de exemplu, www.google.com) sau locaii (calea spre un
fiier sau dosar din calculator)
Lookup Wizard - reprezint, de fapt, nu un tip de date, ci o proprietate
a cmpului prin care valorile lui pot fi selectate din alt tabel. Acest mod de
abordare simplific procedura introducerii valorilor cmpului i, n plus reduce
riscul comiterii unor erori.
Pentru a schimba tipul cmpului (implicit tipul este Text), trecem
n coloana Data Type (fig.6) i din lista derulant alegem tipul dorit. Apoi
trecem (dac e cazul) n coloana Description, pentru a introduce note
explicative, sau n rndul urmtor, pentru descrierea altui cmp.

3.3. Stabilirea cheilor primare


Dac valorile unui cmp sunt unice (nu se repet), putem semnala acest
lucru, pentru a evita introducerea accidental a dou valori identice. Aceast
procedur poart denumirea de stabilire a cheii primare, n cazul tabelului
16

CITITORI, cheia primar poate fi stabilit pe cmpul IdCarte, pentru a exclude


eventualitatea repetrii identificatorului crii (n bibliotec nu pot exista dou
cri cu acelai identificator). Cheia primar poate fi stabilit i pe cteva
cmpuri. Pentru a stabili cheia primar, selectm cmpul respectiv, apoi executm
un clic pe butonul

din bara cu instrumente. Ca rezultat, n partea din

stnga a cmpului respectiv apare semnul cheii (vezi fig. 6).


Dup ncheierea procedurii de descriere a cmpurilor i de stabilire
a cheii primare, salvm tabelul (descrierea lui), selectnd comanda Save din
meniul File i indicnd numele tabelului. Dac nu am stabilit o cheie
primar (acest lucru nu este obligatoriu), sistemul ne va avertiza,
sugerndu-ne stabilirea cheii pe un cmp de tip AutoNumber. Pentru a
confirma, acionm butonul Yes. n acest caz sistemul stabilete automat cheia
primar pe un cmp AutoNumber (dac el exist) sau creeaz suplimentar un
asemenea cmp (dac el nu exist), stabilind pe el cheia primar. Pentru a
renuna la stabilirea cheii primare, acionm butonul No.

3.4. Proprietile cmpurilor


n afar de tipul cmpului, putem stabili i unele proprieti ale sale,
cum ar fi mrimea (lungimea), numrul cifrelor zecimale, formatul datei
calendaristice etc. Fiecare tip de date are proprieti prestabilite, dar ele pot fi
modificate, executnd un clic pe cmpul respectiv (fig. 6, partea de sus) i
modificnd valorile prestabilite care apar n partea de jos.
Cmpurile de tip Text pot avea lungimi cuprinse ntre l i 255 de
caractere. Implicit, mrimea cmpului este de 50, dar ea poate fi modificat n
limitele amintite, n funcie de lungimea maxim preconizat a valorilor cmpului
respectiv.

Astfel, pentru IdCarte (identificatorul crii), modificm mrimea

17

cmpului din 50 (valoarea prestabilit) n 8 (valoarea necesar). La fel


procedm i cu caracteristicile altor cmpuri.
Menionm i cu aceast ocazie, c pentru cmpurile ce conin numai
valori numerice (identificatori numerici), care nu vor fi folosite n calcule, vom
prefera tipul Text n locul tipului Number. Acest mod de abordare va facilita
ulterior cutarea informaiei n baza de date.
Cmpurile de tip Number au lungimi diferite n funcie de opiunea
specificat pentru proprietatea Field Size.
Opiunea implicit pentru cmpurile de tip Number este, de regul,
Single, dar ea poate fi modificat, utiliznd comanda Options din meniul
Tools. Pentru cmpurile de tip Number poate fi stabilit i proprietatea
Format, n care specificm modul de afiare a valorilor (numrul cifrelor
zecimale etc.).
Cmpurile de tip Date/Time au lungimi variabile n funcie de
formatul datei/orei specificat pentru proprietatea Format a cmpului. De
altfel, formatul de reprezentare a datelor calendaristice, la fel ca i
delimitatorii dintre dat, lun i an, pot s difere de cele utilizate n aceast
lucrare. Reprezentarea datelor ine de modul n care a fost personalizat
sistemul Windows.

Pentru a schimba formatul de reprezentare a datelor

calendaristice (dar i a orei, a numerelor i a valutei), este necesar de a efectua


setrile respective, utiliznd aplicaia Regional Options din meniul Control
Panel al meniului de baz Start.
Remarc: Dac anul este indicat cu 2 cifre, Access l

interpreteaz

astfel:
pentru valorile din intervalul 00-29 se subnelege anii 2000-2029;
pentru valorile din intervalul 30-99 se subnelege anii 1930-1999.

18

Cmpurile de tip logic (Yes/No) ocup n memoria calculatorului un


octet i pot fi reprezentate n 4 moduri, n funcie de opiunea specificat pentru
proprietatea Format a acestui cmp, i anume: Yes/No, True/False, On/Off, -1/0.
n ultimul caz valoarea - l corespunde strii True (adevr), iar valoarea 0 strii False (fals).

3.5. Specificarea valorilor prestabilite


Dac o bun parte din valorile unui cmp se repet frecvent (de
exemplu, n cazul cnd majoritatea cititorilor au studii superioare), putem
specifica o valoare prestabilit (implicit) a cmpului respectiv. Valoarea
prestabilit (n cazul nostru "super") se specific pentru proprietatea Default
Value a cmpului. In procesul introducerii datelor sistemul atribuie cmpului
valoarea prestabilit n mod automat, utilizatorul urmnd s modifice doar
valorile care difer de cea prestabilit.

3.6. Stabilirea unor condiii de validare


Pentru a diminua riscul introducerii unor valori greite, putem stabili
condiii (reguli) de validare pentru valorile cmpurilor respective. Regulile de
validare se stabilesc pentru proprietatea Validation Rule a cmpului. Totodat,
pentru proprietatea Validation Text se specific mesajul care trebuie s fie
afiat n cazul nerespectrii regulii. Astfel, dac se tie c preul crilor nu
depete valoarea 200, specificm pentru proprietatea Validation Rule a
cmpului Pre condiia <=200, iar pentru proprietatea Validation Text - mesajul
"Preul crii nu poate fi mai mare de 200 de lei. Reintroducei preul crii. La fel,
data mprumutului/restituirii crii nu poate depi data curent, astfel c pentru
cmpurile DataImpr i DataRestit putem stabili condiia <=Date() pentru
19

proprietatea Validation Rule. Mesajul specificat pentru proprietatea Validation


Text va fi i el adecvat. In fiecare din situaiile descrise vor fi afiate mesajele
respective n cazul introducerii unor valori care nu corespund condiiilor de
validare stabilite n procesul definirii cmpurilor.

3.7. Modificarea descrierii unui tabel


n cazul cnd apare necesitatea modificrii descrierii iniiale a unui tabel
(adugarea sau excluderea unuia sau mai multor cmpuri, schimbarea ordinii,
modificarea unor caracteristici, etc), deschidem tabelul respectiv n regimul
Design View i efectum modificrile necesare dup cum urmeaz (n orice
consecutivitate):
a)

Modificarea denumirii cmpului. Executm un clic pe denumirea

cmpului i efectum schimbrile necesare.


b)

Adugarea unui cmp. Marcm cmpul, naintea cruia trebuie

inserat noul cmp. Pentru aceasta executm un clic n partea stng a rndului
respectiv, acesta schimbndu-i culoarea. Apoi executm comanda Insert Row
din meniul Edit.
c)

Excluderea unui cmp. Marcm cmpul ca n cazul precedent, apoi

apsm tasta Delete. Confirmm aciunea prin OK.


d)

Schimbarea ordinii (deplasarea) cmpurilor. Marcm cmpul care

urmeaz a fi deplasat, apoi, innd apsat butonul stng al mouse-ului, deplasm


cmpul dat peste cmpul, naintea cruia dorim s fie situat.
e)

Schimbarea caracteristicilor. Executm un clic pe rndul n care

este definit cmpul, apoi stabilim caracteristicile cmpului n modul descris n


paragrafele precedente. n cazul n care n tabel au fost introduse date,modificarea
caracteristicilor cmpurilor tabelului poate implica denaturarea informaiei. Astfel,
dac micorm lungimea unui cmp de tip Text, este posibil trunchierea (din
dreapta) a datelor. Modificarea tipului cmpului poate avea, de asemenea,
20

consecine nedorite. Din aceast cauz ne vom strdui s definitivm proprietile


cmpurilor nainte de a introduce valori n tabel.
Adugarea sau anularea unei chei primare. n caz de necesitate,

f)

putem aduga sau anula una sau mai multe chei primare. Pentru a schimba cheia
primar de pe un cmp pe altul, selectm cmpul nou, apoi acionm butonul
din bara cu instrumente. Pentru a stabili cheia primar pe cteva cmpuri , le
selectm, apoi acionm acelai buton. Pentru a anula una sau mai multe chei
primare, executm comanda Indexes din meniul View, apoi n caseta care se
deschide selectm cmpurile respective i apsm tasta Delete.
Dup efectuarea modificrilor, salvm tabelul cu Save As sau Save din
meniul File.

3.8. Introducerea datelor n tabel


Dup ce am efectuat procedurile de descriere a tabelului , putem
introduce date n cmpurile lui. Pentru a iniia procesul de introducere a datelor ,
deschidem BD (dac nu este deschis) , apoi n fereastra Database (fig.4)
selectm tabelul necesar (de exemplu Cititori) i executm un clic pe Open. Ca
rezultat, se afieaz cmpurile tabelului respectiv fig.7(iniial tabelul conine
doar un rnd liber).

21

Figura.7 - Introducerea i modificarea datelor n tabel

Nu este absolut obligatoriu s completm toate cmpurile; astfel dac


anumite date nu snt deocamdat cunoscute, introducerea lor poate fi amnat.
Excepie fac cmpurile pentru care au fost stabilite chei primare. Aceste
cmpuri nu pot avea valori nule, de aceea valorile lor trebuie introduse n mod
obligatoriu.

Ordinea introducerii datelor poate fi i ea oricare. Dac a fost

stabilit o cheie primar , la o nou deschidere a tabelului nregistrrile vor fi


afiate n ordinea cresctoare a valorilor cmpului respectiv. Datorit acestui
fapt, orice nregistrare nou se adaug la sfritul tabelului, avnd certitudinea
c ulterior ea va fi plasat n locul corespunztor. Dup terminarea introducerii
datelor nchidem tabelul, acionnd butonul

sau executnd comanda Close din

meniul File (modificrile efectuate se salveaz automat).


Remarc: Tipul i caracteristicile datelor introduse trebuie s
corespund ntocmai tipului i caracteristicilor cmpurilor respective definite n
procesul crerii (descrierii) tabelului.

22

3.9. Redactarea datelor


Dac apare necesitatea modificrii (editrii) nregistrrilor unui tabel,
deschidem tabelul n regimul Datasheet View, acionnd butonul Open din
fereastra Database (sau executnd un dublu-clic pe numele tabelului). Ca
rezultat, obinem tabelul cu coninutul precedent, coninut pe care-1 putem modifica
la dorin. Modificrile pot fi cele mai diverse: nlocuirea datelor existente,
completarea unor cmpuri, ale cror valori nu erau cunoscute anterior,
adugarea unor nregistrri noi, tergerea unor nregistrri, copierea unor valori
etc. Majoritatea acestor modificri se efectueaz prin simpla deplasare n
cmpul i rndul necesar i prin nlocuirea coninutului vechi prin altul nou.
Menionm, c semnul

indic rndul curent, iar atunci cnd iniiem

procedura se modificare a nregistrrii, acest semn este nlocuit cu

ultimul

fiind prezent pn la trecerea la o alt nregistrare.


In cele ce urmeaz vom descrie cteva proceduri de redactare a datelor.
a)

Adugarea unor nregistrri noi. nregistrrile noi sunt plasate la

sfritul tabelului .
b) Excluderea unor nregistrri. Pentru a terge una sau mai
multe nregistrri consecutive, marcm aceste nregistrri prin glisarea
("tragerea") mouse-ului pe verticala din stnga tabelului, apoi apsm tasta
Delete sau alegem comanda Delete din meniul Edit. Ni se va cere confirmarea
aciunii, la care vom rspunde prin OK sau vom renuna prin Cancel.
c) Copierea unor blocuri de date. Pentru a copia un bloc de date,
marcm blocul, apoi acionm butonul Copy din bara cu

instrumente. Ca

rezultat, coninutul blocului se copie n memoria Clipboard. Din acest moment,


coninutul memoriei Clipboard poate fi "lipit" oriunde. In acest scop marcm
locul inserrii (blocul-destinaie) i acionm butonul Paste din bara cu
instrumente.

23

Remarc: Dimensiunile i caracteristicile blocului-destinaie trebuie


s corespund ntocmai dimensiunilor i caracteristicilor blocului-surs.
Modificrile efectuate n orice nregistrare a tabelului se salveaz
n mod automat de fiecare dat cnd trecem la o alt nregistrare, sau la
nchiderea tabelului. Aceasta nseamn c dup terminarea lucrului cu un
tabel nu este neaprat nevoie s-1 salvm, - sistemul o va face singur.
Utilizatorul trebuie doar s aib grij s nchid tabelul n caz c nu-1 va
mai utiliza. Dac, ns, am efectuat modificri ce i n de aspectul tabelului
(limea coloanelor, ordinea lor etc.) i dorim ca aceste modificri s fie
prezente la o nou deschidere, nainte de a nchide tabelul, l salvm cu
comanda Save din meniul File.
MS Access pstreaz informaia despre modificrile efectuate, ceea
ce permite, n cazul cnd am greit, anularea modificrilor i revenirea la
starea precedent. Pentru a anula modificrile din cmpul curent, apsm
tasta Esc, iar pentru a anula modificrile din nregistrarea curent apsm tasta Esc de dou ori. Pentru a anula modificrile din nregistrare
dup ce s-a trecut la o nou nregistrare, executm comanda Undo Saved
Record din meniul Edit. Prin aceasta se revine la s i t u a i a anterioar
aciunii greite (nedorite).

3.10. Modificri ce nu afecteaz structura fundamental


Pe lng modificrile care vizeaz structura unui tabel i coninutul
lui, sunt posibile i modificri care schimb doar modul de prezentare a
tabelului, fr a afecta structura lui fundamental. Aceste modificri i n de
ordinea afirii cmpurilor (coloanelor), limea cmpurilor, nlimea
rndurilor etc.
a) Schimbarea ordinii afirii cmpurilor, n unele cazuri, este
necesar de a schimba ordinea afirii cmpurilor, diferit de cea din
24

descrierea fundamental, stabilit n regimul Design View. Pentru a reamplasa


un cmp, l marcm, apoi, innd apsat butonul stng al mouse-ului, l
deplasm n poziia dorit i eliberm butonul. Ca rezultat, cmpul deplasat
nlocuiete cmpul peste care a fost suprapus, acesta din urm deplasndu-se la
dreapta. n mod analog putem deplasa i alte cmpuri, astfel nct ordinea
cmpurilor s devin cea dorit. Dar oricare ar fi modificrile efectuate n
regimul Datasheet View (Foaie de date), ele nu afecteaz ordinea i
caracteristicile cmpurilor stabilite n regimul Design View (Proiectare).
b) Sortarea nregistrrilor. Pentru a obine o consecutivitate a
nregistrrilor, diferit de cea existent, putem efectua o sortare (n ordine
cresctoare sau descresctoare) dup valorile unui cmp al tabelului. Pentru
aceasta plasm cursorul pe cmpul respectiv i acionm unul din butoanele
sau

. Dac la nchiderea tabelului aceast modificare nu se

salveaz, la o nou deschidere a tabelului nregistrrile se vor afia n


ordinea obinuit. Modul de sortare descris aici nu prevede sortri complexe,
acestea putnd fi obinute n baza interogrilor .
c) Modificarea limii coloanei unui cmp. In cazul cnd limea unui
cmp nu corespunde lungimii datelor pe care le conine, putem schimba
(mri, micora) limea lui. Pentru aceasta poziionm indicatorul mouse-ului
pe l i n i a din partea dreapt a denumirii cmpului (forma indicatorului se
schimb n sgeat dubl orizontal), apsm butonul stng al mouse-ului i,
deplasndu-1 la stnga la dreapta, micorm-mrim limea cmpului. Dac n
poziia n care indicatorul mouse-ului ia forma menionat mai sus executm
un dublu-clic, limea cmpului devine egal cu lungimea celei mai mari
nscrieri a acestui cmp din partea vizibil a tabelului. Subliniem i cu aceast
ocazie c aceste modificri nu schimb limea iniial a cmpului, stabilit
n procesul descrierii lui n regimul Design View.
d) Modificarea nlimii rndurilor. Pentru a modifica nlimea
rndurilor, poziionm indicatorul pe linia ce desparte oricare dou rnduri
25

(forma indicatorului se modific n sgeat dubl vertical), apsm butonul


stng al mouse-ului i, deplasndu-1 n sus-n jos, micorm-mrim nlimea
rndurilor (se modific simultan nlimea tuturor rndurilor, i nu doar a celui
curent).
Dac nu salvm tabelul cu Save din meniul File, modificrile
descrise n a)-d) i pierd actualitatea, astfel nct, la o nou deschidere a
tabelului, ordinea cmpurilor i a nregistrrilor, dimensiunile coloanelor i
rndurilor vor rmne aceleai de pn la modificarea tabelului. Dac ns dup
efectuarea modificrilor salvm tabelul, aceste modificri vor fi actuale la o
nou deschidere a tabelului, dar i n acest caz ele nu afecteaz caracteristicile
din descrierea lui iniial. Dup terminarea lucrului cu un tabel, l putem
minimiza (n cazul cnd intenionm s-1 mai utilizm) sau nchide (n cazul
cnd nu-1 vom mai utiliza).

Deschiznd consecutiv cteva tabele i

redimensionnd ferestrele respective, putem afia pe ecran mai multe tabele ale
BD. nchiderea tabelului se face, dup cum am mai menionat, prin executarea
comenzii Close din meniul File. Pentru a relua lucrul cu un tabel, l
deschidem, acionnd butonul Open din fereastra Database (fig. 4).

3.11. Relaii dintre tabele. Integritatea datelor


Relaiile dintre dou tabele se stabilesc, de regul, prin intermediul unor
cmpuri identice (cu aceeai denumire, de aceeai lungime, cu aceleai
proprieti) prezente n ambele tabele.
n cazul relaiei de tipul unu la muli n tabelul primar (din partea
cruia se realizeaz relaia "unu") trebuie s existe un cmp, numit cheie
primar, n care nu se admit valori care se repet, iar n tabelul secundar (din
partea cruia se realizeaz relaia "muli") trebuie s existe un cmp analogic
cu cel din tabelul primar, numit cheie strin, care poate admite valori care se
repet.
26

Relaia muli la muli poate fi transformat n dou relaii de tipul unu


la muli prin definirea unui tabel intermediar, n care se introduc, n calitate de
chei strine, cheile primare ale primelor dou tabele. Astfel, pentru a evita
relaia muli la muli dintre tabelele CRI i CITITORI, a fost definit
tabelul COMENZI n care au fost incluse cmpurile IdCarte i IDCit din
tabelele respective.
Relaia de tipul unu la unu presupune existena n ambele tabele a unei
chei primare cu aceleai caracteristici, n fond, dou tabele ntre care exist o
relaie de tipul unu la unu pot fi oricnd unite ntr-un singur tabel; la fel, orice
tabel poate fi divizat n dou sau mai multe tabele ntre care se stabilete o relaie
de tipul unu la unu. Divizarea unui tabel n modul menionat mai sus poate fi
util n cazul unui tabel cu un numr foarte mare de cmpuri (un tabel Access, de
exemplu, nu poate conine mai mult de 255 de cmpuri), dar i n situaia cnd o
parte din informaia care se refer la o entitate are un caracter confidenial, sau
se utilizeaz foarte rar.

n concluzie, dei relaiile de tipul unu la unu nu sunt

caracteristice unei baze de date de tip relaional, totui n unele situaii acest tip
de relaii este preferabil sau chiar necesar.
Dac la proiectarea tabelelor inem cont de principiile expuse mai
sus , atunci Access stabilete automat relaiile dintre tabelele care conin
cmpuri comune. Totui putem stabili relaii ntre tabelele bazei de date i
n mod explicit, utiliznd comanda Relationships din meniul Tools. n acest
caz apare

27

Figura .8 - Relaiile dintre tabelele bazei de date BIBL


o fereastr (fig.8) n care indicm tabelele ntre care se stabilesc
relaii, apoi, cu

ajutorul mouse-ului, trasm legturile ntre cmpurile

respective.
Dac unul din cmpurile de legtur este de tip cheie primar
(el are o culoare mai pronunat), trasarea se face pornind de la acest cmp.
T a b e l u l de la care se traseaz legtura se numete tabel primar
(principal), i a r cellalt - secundar (subordonat). Ca rezultat, apare o caset
de dialog (fig.9) n care putem specifica proprietile relaiei (legturii).

fig.9 Stabilirea proprietilor relaiilor


28

Pentru relaia dintre dou tabele pot fi stabilite urmtoarele proprieti:


1. Tipul relaiei (Relationship Type) poate fi stabilit ca unu la unu (one to
one) sau unul la muli (one to many);
2. Impune

integritatea

Includerea

acestui

referenial
parametru

(Enforce Referential Integrity}.


asigur

integritatea

datelor

procesul introducerii, modificrii sau tergerii nregistrrilor din tabelele legate.


Acest lucru este posibil doar n cazul cnd cmpul din tabelul principal este de
tip cheie primar, iar cmpul de legtur din tabelul subordonat are acelai tip de
date. Atunci cnd introducem date n cmpul de legtur al tabelului
subordonat, sunt acceptate doar acele valori care se conin n cmpul
respectiv al tabelului principal. De exemplu, dac nu exist un cititor cu
identificatorul 0472 n tabelul CITITORI, sistemul nu va admite apariia
acestui cod n cmpul respectiv al tabelului COMENZI. In acest caz este
necesar s introducem mai nti datele despre cititorul n cauz n tabelul
CITITORI, apoi s utilizm identificatorul cititorului n tabelul COMENZI.
La fel, nu putem exclude o nregistrare din tabelul principal, dac
valoarea cmpului de legtur a acestei nregistrri se conine n una sau mai
multe nregistrri ale tabelului subordonat.
3. Modificarea n cascad a nregistrrilor (Cascade Update Related
Fields). Dac acest parametru este inclus, sistemul va modifica toate valorile
cmpului de legtur ale tabelului subordonat n cazul cnd valoarea cmpului
respectiv al tabelului principal se modific. De exemplu, dac un cititor a pierdut
carnetul de cititor cu numrul 0519 (identificatorul cititorului) i i se remite un nou
carnet cu numrul 1465, aceast valoare trebuie s se modifice n toate
nregistrrile tabelului COMENZI n care figureaz valoarea veche. In caz contrar,
mprumuturile de cri fcute de cititorul cu identificatorul 0519 nu sunt valide,
deoarece nu se cunoate nici o informaie despre cititorul n cauz.
4. Excluderea n cascad a nregistrrilor (Cascade Delete Related
Records). Dac acest parametru este activ, atunci excluderea unei nregistrri
29

din tabelul principal implic excluderea tuturor nregistrrilor din tabelul


subordonat, n care valoarea cmpului de legtur coincide cu cea a cmpului
respectiv din tabelul principal. De cele mai multe ori asemenea excluderi
sunt fireti, deoarece existena unor nregistrri n tabelul subordonat, pentru
care valoarea cmpului de legtur nu se conine i n tabelul principal, duce
la pierderea integritii datelor.
Toate raionamentele de mai sus in de integritatea datelor, asigurarea
creia reprezint unul din principiile fundamentale ale proiectrii bazelor de date.

30

4. FUNCII ACCESS

MS Access conine un set de funcii standard de cele mai diferite tipuri.


Pentru descrierea lor vom folosi urmtoarele convenii:
CmpNum - argument ce reprezint cmpuri de tip Number sau
Currency;
CmpText - argument ce reprezint cmpuri de tip Text;
CmpDate - argument ce reprezint cmpuri de tip Date/Time;
Cmp - argument ce reprezint cmpuri de orice tip;
n,m - argumente ce reprezint numere naturale;
i - argument ce reprezint numere ntregi;
{} - argumentele incluse n paranteze figurate sunt opionale
(neobligatorii);
Argumentele funciei se pun ntre paranteze rotunde i se separ prin
punct i virgul (uneori prin virgul). n cazul lipsei argumentelor, dup
denumirea funciei se pun paranteze rotunde care nu conin n interior nimic.
n cazul cnd argumentul funciei reprezint un cmp, numele cmpului se ia ntre
paranteze ptrate [].
Enumerm n cele ce urmeaz cteva dintre funciile sistemului Access:
1. Abs(CmpNum) - calculeaz valoarea absolut (modulul).
2. Avg(CmpNum) - calculeaz media aritmetic.
3. Sin(CmpNum) - calculeaz valoarea sinusului.
4. Exp(CmpNum) - calculeaz puterea numrului e.
5. Log(CmpNum) - calculeaz logaritmul natural.
6. Sqr(CmpNum) - calculeaz rdcina ptrat.
7. Int(CmpNum) - calculeaz partea ntreag.
8. Rnd(i) sau Rnd() - returneaz un numr aleator situat ntre 0 i 1.
9. Sum(CmpNum) - calculeaz suma.
31

10. Max(CmpNum)-calculeaz valoarea maxim


11. Min(CmpNum) - calculeaz valoarea minim.
12. Var(CmpNum) - calculeaz variaia (dispersia).
13. Count(Cmp) - calculeaz numrul valorilor nenule.
14. Left(CmpText,n) - extrage primele n caractere (din stnga).
15. Right(CmpText,n) - extrage ultimele n caractere (din dreapta).
16. Len(CmpText) - calculeaz lungimea expresiei.
17. LTrim(CmpText} - lichideaz toate spaiile de debut (din fa).
18. RTrim(CmpText) - lichideaz toate spaiile (blancurile) de la
sfrit.
19. Trim(CmpText) - lichideaz toate spaiile de debut i de la sfrit.
20. Mid(CmpText;n{;m}) - extrage primele m caractere, ncepnd cu
al n-lea. n cazul cnd m lipsete - extrage toate caracterele, ncepnd cu al nlea.
21. InStr({n;}Text,CmpText) - calculeaz locul, ncepnd cu care
valoarea Text se conine n ntregime n CmpText. Cutarea se face ncepnd
cu poziia l (sau n, dac este specificat).
22. Date() - returneaz data curent.
23. Time() - returneaz ora curent.
24. Now() - returneaz data i ora curente.
25. Weekday(CmpDate) - calculeaz ziua sptmnii care corespunde
datei.
26. Year(CmpDate) - extrage anul (cu 4 cifre).
27. DateAdd(Tip;i;CmpDate) - adun/scade la/din CmpDate i intervale
de tipul dat (i poate lua i valori negative). "Tip " poate avea una din urmtoarele
valori:
"q"- trimestre; ex.: DateAdd ("q";7;Date()) - peste 7 trimestre din ziua curent.
"m" - luni; ex.: DateAdd ("m ";-9;Date()) - cu 9 luni n urm fa de ziua
curent.
32

"d" - zile; ex.: DateAdd ("d";25;[DataImpr]) - peste 25 de zile de la data


mprumutului.
"yyyy" - ani; ex.: DateAdd ("yyyy";-4;Date()) - cu 4 ani n urm de la data
curent,
"ww" - sptmni; ex: DateAdd ("ww";2;[DataRestit]) - peste 2 sptmni
de la data restituirii.
"h" - ore; ex.: DateAdd ("h";-27;Now()) - cu 27 de ore in urm.
Remarc: Funciile descrise mai sus pot fi utilizate numai n interogri,
formulare, rapoarte i n limbajul de programare Visual Basic for Applications.

4.1. Interogri Access


Performanele unui SGBD depind n mare msur de capacitatea
extragerii rapide a diferitor informaii n forma dorit. n multe cazuri este necesar
de a selecta date din mai multe tabele simultan. De exemplu, pentru a selecta
crile din domeniul informaticii editate n Frana dup anul 2001, utilizm 3
tabele: CRI, RI i TEMATICI. Pentru a formula condiii de selecie, n MS
Access exista o clas special de obiecte (alturi de tabel )numite Interogri (engl.
Queries).
Sinonime: Interogri - Cereri - Interpelri.
Interogrile reprezint modaliti de selecie i afiare a informaie din unu
sau mai multe tabele, formulate cu ajutorul unor condiii logice.

33

4.2. Tipuri de interogri


n funcie de modul de definire i rezultatele aciunii, interogrile pot fi
clasificate astfel:
a) interogri de selecie (folosind condiii logice);
b) interogri de sortare (indicnd cmpul/cmpurile i ordinea sortrii);
c) interogri de excludere a unor nregistrri din BD (de exemplu,
excluderea

tuturor cititorilor care nu au mprumutat

cri n

ultimii 2 ani);
d) interogri de modificare a unor nregistrri din BD (de exemplu,
majorarea preurilor tuturor crilor cu 20%);
e)

interogri de obinerea a unor informaii rezultante (n cmpuri

noi)
n

baza

informaiei

existente

(de

exemplu,

obinerea

vrstei

cititorului prin scderea anului de natere din anul curent);


f) interogri de obinere a unor totaluri, medii etc.;
g) interogri ncruciate.
n toate cazurile, cu excepia ultimelor dou, rezultatul interogrii este
un nou set de date, numit set dinamic (engl: Dynaset). Setul dinamic
(rezultatul interogrii) conine doar cmpurile specificate ale nregistrrilor din
tabelele specificate care satisfac condiiilor specificate. Denumirea '"Set dinamic"
este legat de faptul c orice modificri ale datelor din tabelele specificate n
interogare implic modificri respective ale rezultatului interogrii (la o nou
executare a ei). i invers, orice modificri n setul dinamic implic modificri n
tabelele respective (cu condiia respectrii integritii datelor). Seturile dinamice
nu se memorizeaz; ele se formeaz din nou de fiecare dat cnd executm o
interogare. Dac n tabelele BD intervin modificri, rezultatele executrii a dou
interogri identice pot fi diferite, n cele ce urmeaz vom descrie modalitile
de definire i executare a interogrilor nominalizate.

34

4.3. Interogri de selecie a nregistrrilor(Select Query)


Exemplu:1
Pentru a defini o interogare de selecie (de exemplu, afiarea emisiunilor cu
desene animate), acionm fila Queries din fereastra Database (fig. 10), apoi
butonul New.

fig.10 - Fereastra cu clasele de obiecte Access


n continuare indicm unul din cele 5 moduri de creare a interogrilor
(n cazul nostru Design View)
Din caseta care apare (fig. 11) selectm consecutiv (n orice ordine)
tabelele necesare (n cazul nostru,Emisiuni,Genuri,Canale TV) i pentru fiecare
acionm butonul Add.

35

fig.11- Selectarea tabelelor pentru definirea interogrii


Dup selectarea tabelelor acionm butonul Close. Dac tabelele
au cmpuri comune (definite n procesul crerii lor), Access stabilete n mod
automat legturile respective (fig. 12). n continuare indicm, n partea de jos
a ferestrei, cmpurile din fiecare tabel (n ordinea dorit) care urmeaz a fi
afiate sau pentru care se vor specifica condiii de selecie i/sau de sortare.
Includerea cmpurilor se face prin "tragerea" lor cu ajutorul mouse-ului din
tabelele din caseta de sus n rndul Field al casetei de jos sau prin
executarea unui dublu-clic pe denumirile respective. Dup aceasta
specificm condiiile seleciei i/sau ordinea sortrii, n acest fel interogarea
se consider definit (fig. 12).

36

fig12. - Specificarea condiiilor de selecie


n rndul Criteria din partea de jos a ferestrei specificm condiia
seleciei Des* pentru cmpul DenGen al tabelului Genuri. Dac dorim ca
nregistrrile s fie afiate ntr-o anumit ordine (cresctoare/alfabetic sau
descresctoare) pentru cmpul respective specificm opiunile Ascending sau
Descending n rndul sort.

Dac indicm Ascending pentru cmpul

DenEmisiunii al tabelului emisiuni denumirile emisiunilor vor fi afiate n


ordinea alfabetic.
Interogarea astfel definit poate fi executat imediat n scopul obinerii
rezultatului (fig. 13), sau salvat pentru a fi executat ulterior. n primul caz
acionm butonul

(Datasheet View) din bara cu instrumente n al doilea caz

executm comanda Save din meniul File. La salvarea interogrii indicm


numele ei, care nu trebuie s coincid cu numele unor tabele sau ale unor
interogri definite anterior. Setul dinamic (rezultatele interogrii) conine
cmpurile marcate cu simbolul

n rndul Show al ferestrei. Celelalte cmpuri

chiar dac sunt incluse n interogare, nu se afieaz.

37

fig.13- Rezultatele interogrii

Exemplu 2. Lista emisiunilor cu durata mai mic de 30 de minute.


Pentru afiarea emisiunilor cu durata mai mic de 30 minute acionm
fila Queries din fereastra Database , apoi butonul New. n continuare indicm
unul din cele 5 moduri de creare a interogrilor, n cazul nostru Design View
(fig.14).

fig.14

38

Din caseta care apare (fig.15) selectm tabelul Emisiuni,Canale TV i


Genuri i acionm butonul Add.

fig.15
Dup selectarea tabelului acionm butonul Close. Apoi executm dublu
clic pe denumirile cmpurilor i vor trece n rndul Field din caseta de jos
(fig.16).

fig.16
Dup aceasta specificm condiiile seleciei. n rndul Criteria scrim
condiia <30 pentru cmpul Durata Emisiunii al tabelului Emisiuni i ne va afia
lista emisiunilor cu durata mai mic de 30 minute.

39

fig.17. - Rezultatul interogrii

Exempul 3: Lista emisiunilor tiri


Pentru afiarea emisiunilor tiri acionm fila Queries din fereastra
Database , apoi butonul New. n continuare indicm unul din cele 5 moduri de
creare a interogrilor, n cazul nostru Design View (fig.14).
Din caseta care apare (fig.15) selectm tabelul Emisiuni , Genuri
acionm butonul Add .Dup selectarea tabelului acionm butonul Close.
Apoi executm dublu clic pe denumirile cmpurilor i vor trece n
rndul Field din caseta de jos (fig.18).

fig.18

40

Dup aceasta specificm condiiile seleciei. n rndul Criteria scrim condiia


tiri pentru cmpul DenGen al tabelului Genuri i ne va afia lista emisiunilor
tiri.

fig.19. Rezultatul interogrii

Exemplul 4: Lista emisiunilor n limba rus


Fie c dorim s afim lista emisiunilor n limba rus. Pentru aceasta
executm urmtorii pai:
Definim o interogare n care includem tabelele Emisiuni, Limbi,
Canale TV din care selectm cmpurile DenEmisiunii, DenCanal, DenLimba
(fig.20)

fig.20
41

Dup aceasta specificm criteriul de selecie n rndul Criteria pentru


cmpul DenLimba din tabelul Limbi i ne va afia lista emisiunilor n limba
rus.

fig.21

4.4. Interogri de sortare a nregistrrilor


Dup ce am definit condiiile de selecie, putem stabili condiii de
sortare pentru unul sau mai multe cmpuri.
Exemplu 1:

Pentru afiarea emisiunilor n ordine alfabetic

executm un clic n rndul Sort al casetei (fig.22) n dreptul cmpului


DenEmisiuni i din lista derulant alegem opiunea Ascending.

fig.22
42

Pentru a afia rezultatul interogrii (fig.23), acionm butonul


(Datasheet View) din bara cu instrumente.

fig.23
Sortarea datelor poate fi fcut i fr a specifica condiii de selecie. n
acest caz se vor afia toate nregistrrile, dar ordinea lor va corespunde
condiiilor stabilite n rndul Sort pentru cmpurile respective.
Exemplu 2: Lista emisiunilor n ordinea duratei lor.
Pentru afiarea emisiunilor n ordine duratei lor executm un clic n
rndul Sort al casetei (fig.24) n dreptul cmpului Durata emisiunii i din lista
derulant alegem opiunea Ascending.

43

fig.24
Pentru a afia rezultatul interogrii (fig.25), acionm butonul
(Datasheet View) din bara cu instrumente.

fig.25

4.5. Interogri de actualizare a nregistrrilor (Update Query)


n cazul cnd este necesar de a modifica un numr mare de nregistrri
conform unuia i aceluiai algoritm, putem defini o interogare de modificare
(Update Query)

44

Vom descrie n continuare modul de definire a unei interogri pentru


care tirile se mresc cu 5 minute.
1. Definim interogarea n modul descris n p.5.1.
2. Includem tabelul Emisiuni i Genuri.
3. Selectm Update din meniul Query sau acionm butonul din bara de
instrumente.Ca rezultat titlul ferestrei se modific n Update Query, iar n partea
de jos apare rndul Update To (fig.26).

fig.26
4. Includem (prin tragere) n celulele rndului Field cmpurile
DenEmisiunii, DenGen, Durata emisiunii.
5. Introducem n rndul Update To pentru cmpul DenEmisiunii expresia
[DenEmisiunii], DenGen expresia [DenGen], Durata emisiunii expresia
[Durata emisiunii]+5
6. Introducem n rndul Criteria pentru cmpul DenGen condiia Stiri.
7. Acionm butonul

din bara cu instrumente, pentru a obine valorile

curente ale cmpului Durata emisiunii care urmeaz a fi modificate (fig.27).

45

Modificrile propriu-zise vor fi operate numai dup trecerea n regimul


Design View i acionarea butonului din bara cu instrumente sau executarea
comenzii Run din meniul Query. n acest caz pe ecran va aprea un mesaj
despre numrul total al nregistrrilor care urmeaz a fi modificate. Acionnd
butonul Yes , Access va efectua modificrile. Pentru a renuna la modificri,
acionm butonul No .

fig.28
Remarc: Interogrile de tip Update se execut de regul o singur
dat. n cazul executrii repetate a interogrii definite n exemplul de mai sus,
vom obine de fiecare dat mrirea emisiunilor tiri cu 5 minute.

4.6. Interogri de excludere a nregistrrilor (Delete Query)


Fie, de exemplu, c dorim s excludem din tabelul Emisiuni toate
emisiunile ntre ora 1000 -1200. Pentru aceasta, executm urmtoarele aciuni:
1. Definim interogarea n modul descris n p 5.1.
46

2. Includem tabelul Emisiuni.


3. Selectm Delete Query din meniul Query sau acionm butonul
(dac este afiat) din bara cu instrumente. Ca rezultat, titlul ferestrei se
schim n Delete Query iar n partea de jos a ferestrei apare rndul Delete.
4. Din lista cmpurilor tabelului Emisiuni, afiat n partea de sus a
ferestrei (fig. 8.12), selectm cmpurile care vor fi afiate sau pentru care vor
fi

specificate condiii de selecie DenEmisiunii i Timpul nceperii i le

"tragem"

celulele

respective

ale

rndului

Field

din

partea

de jos. Ca rezultat, n celulele respective pentru fiecare cmp apare opiunea


Where (din englez - Unde, In care).
5. Introducem n celulele rndului Criteria condiiile seleciei. n cazul
nostru pentru cmpul Timpul nceperii scriem condiia Between 1000 And
1200.

6. Pentru a obine lista nregistrrilor care urmeaz a fi excluse (dar


nc n-au fost excluse), acionm butonul

(Datasheet View) din bara

cu instrumente. Ca rezultat, obinem fereastra, reprezentat n figura


urmtoare

47

7.

Dac rezultatele obinute n p.6 sunt cele dorite, revenind la

regimul Design View, putem elimina realmente nregistrrile, executnd


comanda Run din meniul Query sau acionnd butonul (Run) din bara cu
instrumente. Ca rezultat, pe ecran apare un mesaj despre numrul total al
nregistrrilor care urmeaz a fi eliminate. Dac acionm butonul Yes,
nregistrrile vizate sunt eliminate definitiv. Pentru renunare, acionm butonul
No.
8.

Salvm interogarea, executnd comanda Save As din meniul

File i indicnd numele interog

4.7 . Interogri de grupare i totalizare a nregistrrilor


n multe cazuri apare necesitatea de a obine valori rezumative
referitoare la toate nregistrrile din tabel sau pentru o submulime a lor. De
exemplu, ar putea s ne intereseze cte emisiuni de fiecare gen sunt. n acest
scop n Access pot fi definite interogri n care sunt specificate condiii de
grupare i totalizare.
Pentru obinerea valorilor rezumative, sunt prevzute urmtoarele
funcii:
- Sum, pentru calcularea sumei valorilor cmpului;
- Avg, pentru calcularea mediei valorilor cmpului;
- Min, pentru gsirea valorii minime;
- Max, pentru gsirea valorii maxime;
- Count, calculeaz numrul de valori ale cmpului (excluznd cele
vide);
48

-StDev, pentru calcularea abatem standard;


-Var, pentru calcularea dispersiei.
Valorile rezumative pot fi obinute att pentru toate nregistrrile
din tabel ct i pentru grupuri de nregistrri.
Fie c dorim s obinem informaii despre cte emisiuni de fiecare
gen sunt. Pentru aceasta executm urmtoarele aciuni:
1.

Definim o interogare n care includem tabelele Emisiuni i

Genuri din care selectm cmpurile DenGen i DenEmisiunii (fig)

fig.31
2. Selectm opiunea Totals din meniul View; ca rezultat n caseta de
jos apare rndul Total, iar n celulele respective ale cmpurilor selectate
opiunea Group By
3. Din lista derulant a cmpului DenEmisiunii (rndul Total) selectm
opiunea Count.
4. Acionm butonul

pentru a obine valorile cutate (fig)

49

4.8. Interogri ncruciate (Crosstab Query)


In multe cazuri rezultatele unei interogri sunt greu de perceput din
cauza volumului mare de informaii selectate. In figura

sunt prezentate datele

despre cte emisiuni de fiecare gen sunt, obinute cu ajutorul unei interogri de
grupare i totalizare.

Access permite gruparea i reprezentarea datelor ntr-o form


compact, form care se aseamn cu un tabel electronic. n acest scop se
definesc interogri speciale, numite interogri ncruciate (Crosstab Query).
Pentru a defini o interogare ncruciat procedm iniial ca n cazul unei
interogri de selecie obinuit, adic selectm tabelele Emisiuni, Canale TV,
Genuri, din care selectm cmpurile DenGen, DenCanal, DenEmisiunii (fig)

50

n continuare parcurgem urmtorii pai:


1. Selectm opiunea Crosstab din meniul Query. Ca rezultat, titlul
ferestrei
se schimb n Crosstab Query, iar n partea de jos apare rndul Crosstab.
2. Definim cmpul DenGen, valorile cruia vor servi n calitate de
denumiri ale rndurilor tabelului. Pentru aceasta acionm butonul cu sgeat
din rndul Crosstab pentru cmpul DenGen i din lista derulant care apare
selectm opiunea Row Heading.
3. n mod analogic definim cmpul DenCanal, valorile cruia vor servi
n calitate de denumiri ale coloanelor tabelului . Pentru aceasta acionm
butonul cu sgeat din rndul Crosstab pentru cmpul DenCanal i din lista
derulant care apare selectm opiunea Column Heading.
4. n rndul Total nlocuim opiunea Group By din cmpul
DenEmisiunii prin operatorul Count.
5. Pentru cmpul DenEmisiunii n rndul Crosstab stabilim opiunea
Value pe care o selectm din lista derulant prin analogie cu aciunile descrise
mai sus.
6. Acionm butonul

pentru vizualizarea rezultatelor (fig)

51

52

You might also like