Sunteți pe pagina 1din 4

Interogări Access

Interogările reprezintă modalităţi de selecţie şi afişare a informaţiei din unu sau mai multe tabele,
formulate cu ajutorul unor condiţii logice.
În Microsoft Access se pot crea următoarele tipuri de interogări:
1. Interogări de selecţie extrag informaţii din unul sau mai multe tabele şi le afişează sub
formă de listă. Sunt cel mai uşor de creat şi au avantajul că pot afişa un număr redus
de date dintr-un tabel de mare capacitate (datele care îndeplinesc condiţiile specificate).
Ele permit şi modificarea rezultatului afişat, modificare ce va fi văzută şi în tabelul sursă.
De asemenea, permit şi folosirea de parametri, cum este reuniunea de câmpuri din tabele
între care nu există nici o legătură precum şi efectuarea de calcule.
2. Interogări parametrice nu sunt un tip special de interogări, o funcţie parametru putând fi
folosită pentru toate celelalte interogări; ele folosesc în mod repetat o interogare, efectuând
modificări în criteriile de selecţie.
3. Interogări încrucişate centralizează în formatul unei foi de calcul tabelar datele din unul
sau mai multe tabele. Datele rezultate după execuţia unei astfel de interogări sunt
prezentate într-un format potrivit pentru analiza datelor şi crearea de grafice.
4. Interogări de acţiune creează un nou tabel în baza de date sau realizează modificări
majore ale unui tabel existent. În general, toate interogările de acţiune pot fi realizate pe
baza unei interogări de selecţie. Ele permit adăugarea, modificarea sau ştergerea de
înregistrări într-un tabel. Există patru tipuri de interogări de acţiune:
 interogări de generare a unui nou tabel din datele conţinute în setul de rezultate al
interogării;
 interogări de adăugare a noi înregistrări într-un tabel;
 interogări de ştergere a unor înregistrări dintr-un tabel;
 interogări de actualizare a unor înregistrări dintr-un tabel, conform cu o condiţie ce
trebuie
îndeplinită.
Acţiunile acestora sunt ireversibile asupra datelor din tabelele sursă, iar în cazul
ultimelor trei dintre ele, trebuie urmărită păstrarea integrităţii referenţiale atunci când prin
intermediul lor se acţionează asupra mai multor tabele legate.
Interogări de selecţie
Crearea unui obiect de tip interogare
Iniţierea creării cererii se realizează în fereastra Database prin alegerea obiectului Queries
(Interogări) şi apoi apăsarea butonului New, sau selectând din meniul Insert opţiunea Query.
Access oferă mai multe modalităţi de creare a cererilor, în fereastra New Query:
 Design View - proiectarea interogărilor utilizând interfaţa grafică QBE.
 Simple Query Wizard - utilizarea asistentului pentru cereri simple.
 Crosstab Query Wizard - utilizarea asistentului pentru cereri încrucişate.
 Fiind Duplicates Query Wizard- utilizarea asistentului pentru căutarea înregistrărilor
duplicat.
 Find Unmatched Query Wizard - utilizarea asistentului pentru căutarea înregistrărilor care
nu au corespondent în două tabele.
Pentru crearea unei cereri de selecţie se alege opţiunea Design View din caseta New Query.
Fereastra Show Table oferă posibilitatea precizării sursei de date pentru construirea cererii.
Se vor selecta tabela/tabelele şi/sau cererile sursă şi se va acţiona butonul Add pentru a
realiza aducerea acestora în fereastra de proiectare a cererii. După ce a fost precizată sursa
de date se va închide fereastra Show Table prin acţionarea butonului Close. La nevoie se
poate redeschide fereastra folosind opţiunea Show Table din meniul Query.
În partea superioară a ferestrei Query Design vor fi afişate tabelele sau interogările, fiecare cu
lista câmpurilor conţinute. În cazul în care tabelele din care se extrag datele pentru interogare
au fost puse în relaţie anterior, ele apar în fereastra Query Design cu liniile de legătură
precizate (1-1 sau 1 - ∞). Dacă nu, relaţia între tabele poate fi creată în cadrul interogării.
Fereastra Select Query este împărţită în două zone:
 zona superioară, în care se vizualizează tabelele/interogările sursă de date precum şi
relaţiile definite între acestea;
1
 grila Query Design structurată astfel:
linia Field: rezervată pentru selectarea unui câmp;
linia Table: destinată precizării sursei de date;
linia Sort: permite precizarea sensului sortării pentru atributul din coloana respectivă;
linia Show: permite inhibarea afişării realizărilor câmpului respectiv;
linia Criteria: oferă posibilitatea precizării criteriilor de selecţie prin introducerea
expresiilor Access corespunzătoare;
 liniile or: permit precizarea mai multor criterii de selecţie în cazul expresiilor Access
utilizând operatorul OR.
Definirea interogării de selecţie presupune parcurgerea următorilor paşi:
1. Precizarea câmpurilor ale căror realizări urmează să le returneze cererea. Numele
acestor câmpuri se vor preciza în grila Query Design în rândul Field utilizând una din
următoarele modalităţi:
- selec
tarea câmpului din cadrul listei Field;
- exec
utarea unui dublu clik de mouse asupra câmpului dorit din tabela/interogarea aflată în
panoul superior;
- meto
da drag-and-drop care presupune selectarea cu mouse-ul a câmpului dorit din panoul
superior şi tractarea acestuia în linia Field.
Dacă este necesar să fie aduse în panoul inferior toate câmpurile aparţinând unei tabele
se va proceda în unul din următoarele moduri:
- selec
tarea tuturor câmpurilor din tabela sursă (aflată în panoul superior) printr-un dublu clik de
mouse pe numele tabelei şi se trag câmpurile pe grilă;
- utiliza
rea asteriscului aparţinând tabelei sursă: trageţi cu mouse-ul asteriscul în prima coloană
Field;. chiar dacă în grila de proiectare este completată doar prima coloană Field la
execuţie interogarea va returna realizările tuturor atributelor;
- Dacă
doriţi afişarea în tabelul rezultat în urma interogării a unei noi etichete pentru un câmp
plasaţi mouse-ul în linia Field înaintea numelui câmpului, tastaţi eticheta dorită urmată de
caracterul „:".
2. Se precizează criteriul de selecţie (în mod implicit se returnează realizările tuturor
tuplurilor pentru câmpurile specificate) prin introducerea unei expresii Access valide în
rândul Criteria (eventual şi rândul OR). Introducerea expresiei Access se face prin tastare
sau se construieşte prin intermediul generatorului de expresii (Expression Builder) a cărui
fereastră se deschide selectând opţiunea Build a meniului pe care îl activaţi printr-un click
dreapta de mouse în rândul Field.
3. Se precizează, dacă este necesar, câmpul/câmpurile după care se doreşte o eventuală
sortare şi sensul acesteia în linia Sort.
Pentru ca rezultatele interogării să fie interpretate mai uşor, utilizatorul poate să ceară
ordonarea înregistrărilor în funcţie de valorile anumitor câmpuri.
Sortarea este posibilă pe câmpurile numerice, de tip text şi data calendaristică. Se pot specifica
sortări pe mai multe câmpuri din cadrul aceleiaşi interogări.

Modificarea unei cereri


Pentru a modifica o cerere, aceasta trebuie deschisă în modul Design. Modificările se pot
realiza inserând noi coloane sau ştergând coloane deja definite.
Inserarea unei noi coloane se efectuează selectând coloana înaintea căreia dorim să
introducem noua coloană şi alegând opţiunea Column din meniul Insert.
Ştergerea unei coloane din grila de proiectare se realizează selectând coloana şi acţionând
tasta Delete sau butonul Cut din bara de instrumente sau executând opţiunea Delete Column
din meniul Edit.

2
Modificarea unei cereri poate presupune şi extinderea sursei de date (utilizând fereastra
Show Table). De asemenea modificarea cererii poate implica şi precizarea unor formate de
afişare asociate unor coloane pentru ca datele returnate să fie uşor de parcurs (pentru
precizarea unui anumit format de afişare se va plasa cursorul mouse-ului în coloana dorită şi se
va executa clik dreapta, selectându-se din meniul contextual opţiunea Properties.
Va fi afişată caseta Field Properties în care se va putea specifica numărul de zecimale dorit sau
un format de afişare pentru câmpul respectiv.

Utilizarea operatorilor
Pentru a construi expresii pe rândul Criteria se utilizează operatorii:
 aritmetici: adunare (+); scădere (-), înmulţire (*), împărţire (/), ridicare la putere ( ^),
împărţirea a două numere cu returnarea unui întreg (\), împărţirea a două numere cu
returnarea restului împărţirii (MOD).
 de comparaţie: <, >, =, <=, >=. Aceşti operatori returnează valorile logice True şi False.
asociaţi operatorilor de comparare:
IS NULL, IS NOT NULL - o valoare NULL (câmp necompletat) nu este nici TRUE nici
FALSE. Înregistrările care au valoarea NULL în câmpurile selectate nu apar ca rezultate
ale interogării;
- LIKE
- se foloseşte împreună cu caracterele de înlocuire „* " şi „?" pentru a stabili dacă o
valoare începe cu unul sau mai multe caractere; caracterul „* " poate înlocui orice număr
de caractere; caracterul „? " înlocuieşte numai un caracter;
- IN -
stabileşte dacă o valoare este cuprinsă într-o listă;
- BET
WEEN - stabileşte dacă o valoare aparţine unui interval specificat.
 logici:
NOT - negaţia;
AND - pentru conjuncţia a două valori;
OR - pentru disjuncţia a două valori;
XOR - pentru disjuncţia exclusivă a două valori;
Eqv - verifică echivalenţa a două valori.
 de concatenare a şirurilor de caractere: + şi &.
 constante: constantele utilizate în construirea expresiilor Access pot fi de natură:
numerică (ex: 1200,5,0); text ("123", "Toma Ion", 'str. Viilor 15'); dată calendaristică (ex:
#12.31.01# ceea ce indică data de 31 decembrie 2001).
 Identificatorii: sunt nume de obiecte Access (tabele, atribute, formulare, etc.), prin
intermediul identificatorilor se pot prelua valori pentru definirea criteriilor de pe formulare
create anterior.
 Funcţiile: pot fi de natură:
Dată calendaristică : Date() - returnează data curentă; Month(Date()) returnează
numărul lunii calendaristice curente. Year(Date()) returnează anul curent.
De tip text: Len() - returnează lungimea unui şir; Trim() - elimină spaţiile de la începutul şi
de la sfârşitul unui şir; Left() - returnează primele n caractere de la începutul unui şir, etc.
Matematice şi trigonometrice: ABS() - returnează valoarea absolută a unui număr;
INT() - returnează partea întreagă dintr-o valoare numerică, ROUND() - rotunjeşte o
valoare cu un anumit număr de zecimale; SUM() - calculează suma; A VG() - calculează
media, etc.

Reguli de formare a expresiilor introduse pe câmpul Criteria: datele de tip Text se tastează
ca atare, iar Access adaugă automat ghilimele; pentru datele de tip Number şi Currency se
tastează cifrele şi eventual simbolul zecimal, fără simbolul monetar sau separatorul de mii;
referirile la numele de câmpuri trebuie incluse între paranteze drepte, altfel se adaugă automat
ghilimele, considerându-se text; formatul internaţional de dată calendaristică este mm/dd/yy.
Access adaugă automat delimitatorul #; Access adaugă automat IS la referirile care implică
valoarea NULL.
3
Pe rândul Criteria din grila de interogare se poate introduce un singur criteriu de selecţie sub un
câmp sau mai multe criterii sub câmpuri diferite.

Dacă criteriile de selecţie se introduc pe un singur rând Criteria, se extrag înregistrările care
îndeplinesc toate condiţiile (operatorul logic AND), iar dacă se introduc pe rânduri diferite se
includ în răspuns doar înregistrările care îndeplinesc oricare dintre criteriile menţionate
(operatorul logic OR).

Câmpuri calculate în interogări de selecţie


Interogările de selecţie pot cuprinde şi câmpuri calculate. Aceste câmpuri returnează, la
executarea interogării, valoarea expresiilor Access asociate lor.

Pentru a crea un câmp calculat trebuie avute în vedere următoarele criterii:


 se introduce în celula Field a grilei de interogare un nume de coloană (dacă nu se
specifică se atribuie numele implicit Expr l, Expr2, ...), urmat de semnul " : " şi formula de
calcul, astfel: stoc_final: [stoc_initial] + [Cant_intrata] - [Cant_iesita].
 câmpuri calculate pot fi create şi pentru text (concatenarea câmpurilor): Numepren:
[Nume] & " " & [ Prenume].
 câmpurile calculate pot fi sortate, li se pot aplica criterii de selecţie sau se pot totaliza.
 în câmpurile calculate se poate utiliza funcţia IIF cu următoarea sintaxă: IIF (<expresie>,
valoare 1, valoare2)
unde:
- <expr
esie> - este o expresie a cărei valoare de adevăr este evaluată pentru fiecare
înregistrare;
- valoa
re 1 - este valoarea returnată dacă expresie este adevărată;
- valoa
re2 - este valoarea returnată dacă expresie este falsă.
Pentru a adăuga un câmp 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ă.
Expresiile pot fi utilizate într-o interogare de selecţie fie drept criterii de selecţie fie pentru a
calcula anumiţi indicatori. Expresia poate fi tastată în rândul Field al unei coloane sau poate fi
construită cu ajutorul generatorului de expresii (a cărui fereastră se activează efectuând click
dreapta în linia Field şi selectând din mediul contextual opţiunea Build).

Exercitii:
Evidenta_carti
1. Sa se afiseze lista cartilor care au peste 200 de pagini, in ordine alfabetica.
2. Sa se afiseza editurile din judetul Constanta.
3. Sa se calculeze tva-ul(19%) ptr cartile care au pretul mai mare de 15 lei.
4. Sa se afiseze autorii nascuti dupa 1900.
5. Sa se afiseze cartile autorilor a caror nume incepe cu litera „P”
6. Sa se afiseze autorii care au publicat la edituri din Galati si Braila.

Agentie
1. Sa se afiseze hotelurile din statiunile cu gara, care au si piscina.
2. Sa se afiseze hotelurile de categorie mai mare de doua stele.
3. Sa se afiseze toate rezervarile facute la hotelurile din statiunea Neptun.
4

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