Sunteți pe pagina 1din 3

Interogarea bazelor de date in MsAccess (Query)

Interogarea bazei de date se realizeaza in mai multe moduri: Prin vizualizarea in totalitate a continutului tabelelor (foaia de date asociate tabelei); Prin vizualizarea partiala sau totala a continutului tabelelor cu ajutorulu unor formulare sau situatii finale; Prin cereri explicite. Primele doua moduri pot fi catalogate ca interogari simple, fara restrictii si se formuleaza pentru o singura tabela. Interogarea prin cereri explicite este complexa, comportand in general mai multe tabele, ale caror date sunt filtrate prin intermediul unor criterii. Ultima modalitate este implementata in Access prin componenta numita cerere de interogare (query), care poate fi de cinci feluri: selectie(select), analiza incrucisata (crosstab), actiune (action), SQL (Structured Query Language) si parametrata (parameter). Rezultatul executiei unei asemenea cereri este plasat intr-o foaie de raspuns, asemanator foii de date asociate unei tabele. Avantajele oferite de modul de interogare a bazei de date prin cereri sunt: Selectia campurilor din tabele si a interogarilor acestora pe baza unor criterii impuse de necesitatile informationale; Ordonarea rezultatelor dupa anumite criterii; Introducerea unor campuri calculate pe baza unor formule, care folosesc drept operanzi alte campuri existente in tabele, precum si posibilitatea determinarii de totaluri pe anumite campuri; Utilizarea intr-o cerere a mai multor tabele; Modularitatea cererilor in sensul ca foaia de raspuns (rezultatul) a unei cereri poate fi folosita ca intrare pentru o noua cerere; Crearea unor formulare si situatii finale (reports), care au la baza cereri de interogare (create anterior) Posibilitatea generarii de reprezentari grafice pe baza unor cereri de tip analiza incrucisata. Crearea unei cereri de interogare se poate face in mai multe feluri: Proiectarea pas cu pas a cererii in modul Design view (fereastra de proiectare); Utilizand instrumentul wizard; Exprimarea cererii in limbajul SQL; Crearea unui filtru si salvarea acestuia ca cerere de interogare. Pentru a crea o cerere de interogare pas cu pas in modul Design view: 1. In fereastra Database se realizeaza click pe <Queries> si <New>; 2. Incaseta de dialog New Query se executa click pe <Design View> si apoi <OK>; 3. In caseta de dialog Show Table se executa click pe tab ul care afiseaza lista obiectelor bd (tabele,cereri) 4. Dublu click pe numele fiecarui obiect pe care vrem sa-l folosim si apoi click pe <Close>. Fereastra de lucru este structurata in doua parti (fig. 1) Cea de sus care afiseaza structura tabelelor/cererilor selectate la punctul 4 si eventualele legaturi dintre ele; Cea de jos numita grila de proiectare (design grid), in care se va construi cererea din punct de vedere structural si functional; aceasta mai este cunoscuta si sub numele de grila QBE (Query By Exemple)

~ fig. 1~
5. Daca avem mai multe tabele si/sau cereri de interogare, trebuie sa ne asiguram ca inter ele exista legaturile necesare pentru a raspunde cerintelor impuse de noua cerere de interogare. 6. Daca nu exista legaturile necesare intre tabele, se stabilesc prin glisarea mousului de pe campul de legatura din tabela principala spre campul de legatura din tabela secundara; campurile numerice de legatura Field Size trebuie sa fie:byte, integer sau long integer. 7. In functie de sursa acestora, campurile din structura unei cereri sunt de doua feluri: preluate din tabele/cereri sau calculate. Trecerea campurilor preluate din tabele/cereri in grila de proiectare se face prin deplasarea mouse-ului din lista de campuri in celulele din linia Field. Aceasta trecere poate fi partiala sau totala, in functie de rezultatul final urmarit. Trecerea tuturor campurilor dintr-o tabela/cerere in grila de proiectare se poate face in 2 moduri: o Dublu click in bara de titlu a listei de campuri, click in lista de campuri (oriunde) si apoi deplasarea in grila de proiectare; o Prin deplasarea caracterului * (care se gaseste in capatul listei) in grila de proiectare. 8. Ordonarea datelor intr-o cerere se poate face crescator sau descrescator, dupa unul sau mai multe campuri. Pentru aceasta se realizeaza click in celula de la intersectia coloanei campului cu caseta Sort si apoi se alege intre Ascending sau Descending. In cazul in care se specifica mai multe campuri de ordonare (chei de sortare), operatia se executa incepand cu primul camp din stanga si si continuand cu celelalte spre dreapta pana la ultimul. Ordinea campurilor de sortare influenteaza rezultatul acestei operatii. 9. Criteriile de selectie se introduc in celula aflata la intersectia coloanei campului cu grila Criteria din grila de interogare. Acestea pot fi simple sau compuse (cu ajutorul operatorilor AND/OR) si pot utiliza o serie de cuvinte rezervate si expresii definite de utilizatori. Principalele criterii simple sunt: o Apartenenta la un interval de valori:BETWEEN valoare_inferioara AND valoare_superioara (vezi fig. 1); o Apartenenta la o lista de valori: IN(valoare1,valoare2,.) (vezi fig.1); o Utilizarea operatorilor de comparatii: <,>,<=,>=,<>,= (vezi fig.1); o Utilizarea operatorilor de negatie NOT NULL, IS NOT NULL sau NULL, IS NULL; o Selectia dupa o data relativa la data curenta: Date(). Se pot specifica criterii de selectie dupa un anumit text care, daca va contine spatii, terbuie pus intre ghilimele. Criteriile complexe se pot constitui prin utilizarea operatorilor logici SI, SAU care vor permite legarea criteriilor simple. In acest sens grila de proiectare poseda mai multe linii de criterii. Criteriile simple prin operatorul logic SAU se va specifica pe aceeasi linie; criteriul complex care va contine operatorul SAU pe mai multe campuri se va specifica pe linii diferite. Operatorul logic SI este implicit intre criteriile campurilor de pe aceeasi linie. Un alt tip de criterii complexe sunt cele care compara expresii aritmetice, in care operanzii sunt alte campuri decat cel pentru care este difinit criteriul (caz in care campurile vor fi incluse in paranteze drepte).

10. Crearea unor campuri calculate: Se selecteaza coloana si se introduce comanda <View, Totals>, care va introduce in grila de proiectare linia Totals, data nu exista; Se selecteaza Expresion; In prima linie Field se introduce formula de calcul care are forma generala: o Nume-rezultat: [Camp1]Operator_aritmetic[Camp2] .. o De ex: TVA [Pret-unitar * 0.19 (vezi fig.1) Access permite, de asemenea, specificarea unor operatii de calcul predefinite, care lucreaza pe grupuri de inregistrari sau la intervalul intregii tabele. Pentru realizarea unei operatii de calcul predefinite asupra tuturor inregistrarilor din tabela se procedeaza in felul urmator: Se creeaza o cerere care va contine numai campurile asupra carora vor actiona operatiile de calcul; Se introduce <View, Totals>, ceea ce determina afisarea in grila de proiectare a unei noi linii TOTALS care va contine pentru toate campurile operatia Group by; Se inlocuieste operatia Group by din fiecare celula cu cea dorita (din lista derulanta) Se introduce comanda <Query , Run> pentru vizualizarea rezultatului. Operatia SUM AVG MIN COUNT STDEV FIRST LAST Functia Suma valorilor unui camp Media aritmetica Valoarea minima Numarul de valori dintr-un camp Varianta valorilor unui camp Prima valoare dintr-un camp Ultima valoare dintr-un camp Tipul de campuri Numeric, Autonumber, Data si Logic Numeric, Autonumber, Data si Logic Numeric, Autonumber, Data si Logic si Text Toate tipurile Numeric, Autonumber, Data si Logic Toate tipurile Toate tipurile

Pentru realizarea unei operatii de calcul predefinite asupra unui grup de inregistrari dintr-o tabela se procedeaza ca mai inainte (pentru toate inregistrarile) cu deosebirea ca unele campuri din cerere (cel putin unul) trebuie sa contina operatia Totals: <Group By> pentru a defini criteriile de grupare. Ordinea de evaluare a criteriilor de grupare este de la stanga la dreapta. Astfel, daca dorim sa aflam totalul intrarilor de materiale, totalul iesirilor de materiale si stocul existent .. vom construi urmatoarea cerere de interogare (fig. 2):

11. Salvarea unei cereri de interogare se face prin comanda <File, Save> Dupa definnirea structurii cererii, campurile acesteia pot fi deplasate dintr-un loc in altul, sterse sau adaugate altele noi.

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