Sunteți pe pagina 1din 6

CURSUL 5 si 6( Interogarea BD)

O cerere de interogare Access poate fi utilizat pentru:

regsirea i ordonarea datelor dup anumite criterii;

efectuarea de calcule;

actualizarea bazei de date (prin cereri de tip aciune);

pregtirea datelor n vederea afirii lor n formulare sau rapoarte;


Tipuri de interogri

Interogri de selecie care permit extragerea de date din una sau mai multe tabele i/sau cereri
precum i efectuarea de calcule;
Interogri de analiz ncruciat care permit sintetizarea datelor i a rezultatelor obinute din
calcule, sub forma unei foi de calcul tabelar;
Interogri tip aciune cu funcia de creare de noi tabele i de actualizare a bazei de date;

Pentru crearea unei cereri de selecie


se alege opiunea Design View din
caseta New Query.
Caseta Show Table ofer posibilitatea
precizrii sursei de date pentru
construirea cererii.

Sursa de date pentru o cerere (Query)


poate fi reprezentat de:
una sau mai multe tabele;
una sau mai multe interogri;
tabele i interogri.
Se vor selecta tabela/tabelele i/sau
cererile surs i se va aciona butonul
Add pentru a realiza aducerea acestora
n fereastra de proiectare a cererii.
Fereastra Select Query este mprit n dou zone:
Zona superioar, n care se vizualizeaz tabelele/interogrile surs de date precum i relaiile
definite ntre acestea;
Grila Query Design structurat astfel:
Linia Field: rezervat pentru definirea numelui atributului selectat;
Linia Table: destinat precizrii sursei de date;

BD Cursul 5&6

NP

1/6

Linia Sort: permite precizarea sensului sortrii pentru atributul din coloana respectiv;
Linia Show: permite inhibarea afirii realizrilor cmpului respectiv;
Linia Criteria: ofer posibilitatea precizrii criteriilor de selecie prin introducerea
expresiilor Access corespunztoare;
Liniile Or: permite precizarea mai multor criterii de selecie n cazul expresiilor Access
utiliznd operatorul OR.

Sursa de date

Grila Query Design

Fereastra Select Query

n privina cererilor de selecie care au ca surs mai multe tabele trebuie precizat c, n mod
implicit, Access utilizeaz operaia de echicompunere, fapt ce conduce la selectarea nregistrrilor
ce au corespondent n ambele tabele (interogri de tip Inner Join).

Fereastra Join Properties

De exemplu, dac se realizeaz o cerere asupra tabelelor Produse i Continut Comanda, fr a se


specifica vreun criteriu, n lista rezultatelor nu vor figura dect produsele pentru care s-a efectuat cel
puin o comand. Dac se dorete realizarea unei interogri de tip Outer Join (folosind operaia de
compunere extern) se va efectua dublu click asupra liniei de legtur dintre tabele i, n caseta Join
Properties se poate preciza selectarea tuturor nregistrrilor din una dintre tabele, indiferent dac au
sau nu corespondent n cealalt tabel.
Pentru realizarea operaiei de compunere pe baza unei relaii de inegalitate (<, >, <>) a
cmpurilor de legtur dintre tabele se poate folosi limbajul SQL. O cerere ce are ca surs dou
tabele ntre care nu exist nici o relaie va avea ca rezultat produsul cartezian al nregistrrilor din
cele dou tabele.
BD Cursul 5&6

NP

2/6

Cmpuri calculate n interogri de selecie


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

Pentru a aduga un cmp calculat ntr-o interogare se tasteaz numele acestuia ntr-o nou coloan din
grila Query Design, se adaug dou puncte: i apoi se completeaz expresia dorit.
Operatorii utilizai n construirea expresiilor Access se pot clasifica astfel:
Aritmetici: +, - , * , / , Mod (returneaz restul mpririi la un ntreg), ^ (ridicare la putere).
De atribuire i comparare: =, <, >, <=, >=, < >.
Aceti operatori returneaz valorile logice True i False. Excepie reprezint cazul n care unul
dintre operatori are valoarea Null i deci orice comparare va returna valoarea Null.
Logici: And, Or, Not. Se pot utiliza pentru construirea expresiilor Access compuse.
De concatenare a irurilor de caractere: +, &.
De identificare: ! i . (punct). Aceste dou caractere sunt utilizate ca separatori, astfel:
o Combin numele coleciior de obiecte i numele obiectelor pentru a selecta un anumit
obiect sau proprietate a lui:
Ex: Forms![Clieni]
o Identific atribute aparinnd unei tabele:
Ex: Clieni![Localitate]
o Deosebete numele obiectelor de cele ale proprietilor:
Ex: TextBox1.FontSize=12 unde: TextBox reprezint un obiect de control
FontSize reprezint o proprietate (stabilete dimensiunea fontului)
Ali operatori: IS, LIKE, IN, BETWEEN.
Parametrizarea interogrilor
O astfel de interogare se caracterizeaz prin faptul c n grila Design, pe coloana dorit, n linia Criteria,
se va preciza ntre paranteze drepte un mesaj ce urmeaz a fi afiat la executarea cererii permind ca
utilizatorul s introduc criteriul de selecie dorit. Parametrii pot fi utilizai nu doar n rndul de criterii, ci
i n formulele cmpurilor calculate, dac se dorete introducerea unui termen variabil n expresii.
Exemplul din figura urmtoare prezint o cerere care va solicita utilizatorului numrul comenzii ce se
dorete a fi afiat i procentul ce va fi folosit pentru a calcula cmpul Reducere.

BD Cursul 5&6

NP

3/6

Interogri de sintetizare a datelor


Pe lng posibilitatea de a utiliza expresii pentru a aduga cmpuri calculate n interogri, Access
permite utilizatorilor realizarea unor cereri prin intermediul crora se pot aplica funcii unor
nregistrri grupate dup criterii prestabilite. Prin intermediul acestor query cu rol de sintetizare a
datelor se pot construi cu uurin cereri care s returneze totalul, media, minimul sau maximul unor
grupuri de tupluri.
Pentru a realiza o cerere de sintetizare a
datelor se va elabora interogarea de selecie
aducndu-se n grila Query Design cmpurile
necesare i adugndu-se eventualele cmpuri
calculate, dup care se va activa butonul
Totals
din bara de instrumente. Ca rezultat
al acestei operaii, n grila Query Design, va fi
disponibil un nou rnd intitulat Total.
n mod implicit, gruparea datelor dup valorile cmpului toate coloanele vor avea selectat n linia total
opiunea Group By care conduce la respectiv. Se va pstra opiunea Group By n dreptul
cmpurilor de grupare, urmnd ca pentru celelalte cmpuri s fie selectat din lista de selecie
funcia dorit Lista conine nou funcii de tip agregat ce sunt prezentate n tabelul urmtor:
Funcia

Returneaz

AVG
COUNT
FIRST
LAST
MAX

Media aritmetic
Numrul total de valori
Prima valoare
Ultima valoare
Valoarea maxim

MIN

Valoarea minim

STDEV

Deviaia standar a
valorilor
Suma valorilor
Variana valorilor

SUM
VAR

BD Cursul 5&6

NP

Tipul de cmpuri pentru care se poate


aplica
Number, Date, Currency, AutoNumber
Toate tipurile
Toate tipurile
Toate tipurile
Text, Number, Date, Currency,
AutoNumber
Text, Number, Date, Currency,
AutoNumber
Number, Date, Currency, AutoNumber
Number, Date, Currency, AutoNumber
Number, Date, Currency, AutoNumber

4/6

Pe lng aceste funcii mai sunt disponibile opiunile WHERE i EXPRESSION.


Opiunea Where se va utiliza dac un cmp trebuie utilizat pentru a preciza anumite criterii de
selecie, dar nu se dorete efectuarea gruprii dup cmpul respectiv.
Opiunea Expression se va utiliza pentru cmpurile calculate ce returneaz un singur rezultat la
nivelul grupului.
Interogri de analiz ncruciat
Interogrile de tip tabel ncruciat (CrossTab Query) sunt extrem de utile n scopul analizei
multidimensionale a datelor permind obinerea unor situaii sintetice asemntoare tabelelor pivot
consacrate de procesoarele de tabele (Microsoft Excel, Lotus 123, etc.). Practic, este posibil
elaborarea unor tabele n care gruparea i ordonarea datelor se realizeaz att pe linii ct i pe
coloane la intersecia crora se pot efectua calcule complexe.
Etapele ce trebuie urmate pentru realizarea unei astfel de cereri de interogare sunt urmtoarele:
1.
Elaborarea unei interogri de selecie n modul Design View. Se vor alege tabelele ce conine
datele i se vor selecta cmpurile dorite pentru afiare i eventualele cmpuri pentru care se
vor impune restricii.
2.
Din meniul Query se va selecta opiunea CrossTab Query ce va avea ca efect imediat afiarea
liniilor Total i Crosstab n grila interogrii.
3.
Se va specifica modul de agregare a datelor, respectiv funciile totalizatoare n linia Total.
4.
n linia CrossTab se va opta pentru Row Heading n cazul cmpurile ce vor fi afiate pe
liniile tabelului, Column Heading pentru cmpul ce va fi afiat pe vertical, i Value pentru
valorile ce vor fi afiate la intersecia liniilor cu coloanele. Este permis existena mai multor
cmpuri ordonate pe orizontal (Row Heading), dar a unui singur cmp Column Heading i a
unui singur cmp Value.
Interogri tip aciune
Extrem de utile n exploatarea bazei de date acestea pot avea ca rezultat:
Crearea de noi tabele (Make Table Query)
Actualizarea datelor (Update Query)
Adugarea de noi nregistrri (Append Query)
tergerea nregistrrilor (Delete Query)
Modul de elaborare a unei interogri tip aciune este similar celui prezentat n cazul interogrilor de
selecie, presupunnd ca etap suplimentar specificarea explicit prin intermediul meniului Query
a tipului de cerere dorit. Modificrile asupra bazei de date sunt efectuate doar n momentul execuiei
interogrii care se poate realiza prin apsarea butonului
din bara de instrumente Query Design
sau prin deschiderea interogrii n fereastra Database.
Este recomandat proiectarea n prealabil a cererii ca o simpl interogare de selecie i verificarea
rezultatelor ce vor fi afectate deoarece nu exist posibilitatea revenirii n cazul tergerii sau
modificrii eronate a nregistrrilor.
Interogri pentru crearea de noi tabele
Crearea de noi tabele pe baza nregistrrilor din tabelele deja existente este extrem de facil
presupunnd parcurgerea urmtoarelor etape:
1. Elaborarea unei interogri de selecie n modul Design View (vor fi luate n calcul doar
cmpurile ce dorim s fac parte din structura noii tabele, iar, n cazul n care sunt necesare i
BD Cursul 5&6

NP

5/6

alte cmpuri pentru aplicarea unor criterii, acestea nu vor fi marcate n linia Show a grilei
QBE).
2. Apelarea din meniul Query a opiunii Make Table Query i specificarea n caseta Make Table a
numelui noii tabele (se poate opta pentru crearea noii tabele ntr-o alt baz de date bifnd
opiunea Another Database i specificnd numele fiierului).
3. Lansarea n execuie a interogrii.
Trebuie menionat c tabela rezultat va moteni doar tipurile de date i dimensiunile cmpurilor
din tabelele surs, nu i cheia primar sau eventualele proprieti la nivel de cmp ori tabel.
Interogri pentru actualizarea datelor
Acest tip de interogri permit modificarea valorilor datelor din unul sau mai multe cmpuri ale
nregistrrilor ce satisfac restriciile impuse de utilizator. Pentru a realiza o interogare de tip Update
este necesar selectarea n modul Design View a cmpurilor ce vor fi actualizate i, eventual, a celor
ce fac obiectul restriciilor, dup care se va apela din meniul Query opiunea Update Query. Ca
rezultat al acestei operaii n grila QBE va fi disponibil linia Update To n care se va putea
completa formula de calcul sau valoarea dorit pentru actualizare.
Interogri pentru adugarea de nregistrri
Interogrile pentru adugare ofer utilizatorilor posibilitatea inserrii de noi nregistrri n tabelele
pornind de la nregistrrile existente.
Pentru a realiza o interogare de tip Append este necesar parcurgerea urmtoarelor etape:
1. Elaborarea unei interogri de selecie n modul Design View. Se va alege tabela ce conine
datele i vor fi luate n calcul doar cmpurile ce conin valorile ce vor fi adugate, iar, n cazul
n care se dorete aplicarea unor criterii de selecie a acestora, se vor aduga cmpurile de
restricionat.
2. Se vor tasta eventualele condiii n linia de criterii a interogrii.
3. Din meniul Query se va selecta opiunea Append Query ce va conduce la afiarea casetei
Append n care se va selecta numele tabelei n care dorim adugarea.
4. Transformarea interogrii de selecie ntr-o interogare de adugare are ca efect imediat apariia
rndului Append To n fereastra de proiectare a interogrii. n acest rnd se va specifica pentru
fiecare cmp din tabela ce conine datele denumirea cmpului corspondent din tabela unde vor
fi adugate.
Interogri pentru tergerea de nregistrri
Interogrile aciune de tip Delete ofer posibilitatea eliminrii mai multor nregistrri din tabele pe
baza unor criterii impuse de utilizator. Aciunea interogrilor de tergere acompaniat de opiunea
de tergere n cascad configurat n fereastra Relationships poate conduce la tergerea simultan a
datelor din mai multe tabele.
Pentru a realiza o interogare de tergere se elaboreaz n mod normal o cerere selectndu-se
cmpurile dorite i impunndu-se restriciile necesare dup care se apeleaz din meniul Query
opiunea Delete.

BD Cursul 5&6

NP

6/6

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