Sunteți pe pagina 1din 33

Introducere

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.
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.

CUPRINS
1

Noiune de baz de date.Tipuri de BD............................3

2 SGBD Access. Caracteristica general............................5


3 Tabele Access........................................................................8
4 Funcii Access.....................................................................18
5 Interogri Access..............................................................20
5.1Interogri de selecie a nregistrrilor(Select Query

.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
nul 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.
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 extragera 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 structuriidatelor, a relaiilor


dintre acestea i a condiilor de acces la informaile 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.
Administrarea bazelor de date.
Administrarea BD presupune coordonarea lucrrilor de proiectare a BD,
protecia (securitatea) informaiei, dezvoltarea BD,etc. Aceste funcii le
ndeplinete Administatorul Bazei de Date (ABD). El definete obiectele
sistemului , elaboreaz principiile de protecie a datelor, rspunde de alegerea i
implimentarea SGBD, asigur funcionarea normal a sistemului.

. 2 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.
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
a aciunilor Start/All Programs(sau Programs)/Microsoft Office/Microsoft Office
Access 2003.
Ca rezultat, obinem o fereastr, asemntoare cu cea din figura 1.

Figura 1. Lansarea sistemului Access


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.

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

(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


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.
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

.3 Tabele Access.
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.

fig.6.Definirea cmpurilor tabelului Comenzi

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.
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.
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 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.
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 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.

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).
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.
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 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.
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, consecine
nedorite. Din aceast cauz ne vom strdui s definitivm proprietile cmpurilor
nainte de a introduce valori n tabel.
f) Adugarea sau anularea unei chei primare. n caz de necesitate, 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.
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).

fig.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.
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.
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).
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 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 (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).
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.
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

fig.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. Tab 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 )

fig.9 Stabilirea proprietilor relaiilor


n care putem specifica proprietile relaiei (legturii).
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 referenial (Enforce Referential Integrity}.
Includerea acestui parametru asigur integritatea datelor n procesul
introducerii, modificrii sau tergerii nregistrrilor din tabelele legate. Acest
lucru este posibil doar n cazul cnd cmpul din tabelul principal este de ti p
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
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.

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.
10.
Max(CmpNum)-calculeazvaloareamaxim
l 1. 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 n-lea.
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.
"d" - zile;
mprumutului.

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

"yyyy" - ani;

ex.: DateAdd("yyyy";-4;Date()) - cu 4 ani n urm de la data

curent,
"ww" - sptmni;
data restituirii.

ex: DateAdd("ww";2;[DataRestit]) - peste 2 sptmni de la

"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.

5. 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.
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 (rezultalul 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.

5.1 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.

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 dubluclic pe denumirile respective. Dup aceasta specificm condiiile seleciei i/sau
ordinea sortrii, n acest fel interogarea se consider definit (fig. 12).

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 ordenea 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 aldoile 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.

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
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.

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

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
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

5.2 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
Pentru a afia rezultatul interogrii (fig.23), acionm butonul
din bara cu instrumente.

(Datasheet View)

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.

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

(Datasheet View)

fig.25
5.3 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)
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).

fig.27
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 (fig.28). 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.
5.4 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.
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"
n
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.

fig.29

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 8.13.

fig.30
7.
Dac rezultatele obinute n p.6 sunt cele dorite, revenind la
regimulDesign 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
5.5 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);
-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 al e 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)

fig.32

5.7 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.

fig
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)

fig
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.In 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)

fig

Powered by http://www.referat.ro/
cel mai tare site cu referate

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