Sunteți pe pagina 1din 44

LABORATOR

INTEROGARILE ACCESS
Obiective
 

1. Definirea  interogarilor  
2. Tipuri  de  interogari  
3. Crearea  interogarilor  
 
 
 
Intrebări  si  aplica;i  
recapitula;ve?  
Aplicaţia 1: Fie o bază de date noua cu numele Societate
Comercială 213Cig 2015, constituită pentru o firmă care îşi
comercializează produsele prin intermediul poştei, pe baza
comenzilor primite de la clienţi. Firma dispune de un
nomenclator al produselor fabricate în care sunt consemnate
denumirea fiecărui produs, unitatea de măsură şi categoria de
calitate aferentă. Clienţii firmei sunt persoane fizice cărora li se
solicită numele, adresa, codul poştal şi numărul de telefon.
Comenzile primite sunt numerotate secvenţial, pe fiecare
consemnându-se data recepţionării comenzii şi termenul de
livrare (exprimat în zile) iar, în momentul onorării comenzii, se
completează data la care s-a efectuat livrarea. Pe o comandă pot
fi solicitate unul sau mai multe produse în diferite cantităţi.
Preţurile practicate de firmă sunt negociabile şi variabile în
timp.
Modelul  propus  pentru  baza  de  date  este  
prezentat  în  figura:  

Fig 1 Definirea relatiilor


Introducere  
•  Prin   interogare,   u;lizatorul   cere
(solicita)  bazei  de  date  informații  
specifice   pe   care   să   le   poata  
vizualiza  și/sau  modifica.    
•  Puterea   unei   baze   de   date  
c o n s t â n d   d e   a l J e l   ş i   î n  
posibilitatea   de   a   afişa   rapid  
datele   într-­‐o   ordine   propusă   de  
u;lizator.    
•  O  interogare  este  de  fapt  o  
definiţie  a  datelor  ce  se  extrag:  ce  
câmpuri,  din  care  tabele,  criterii  
de  selecţie,  ordinea  de  sortare.  
Prin  structura  sa,  interogarea  va  
indica  cu  precizie  sistemului  
Access  ce  date  trebuiesc  extrase.    
O  interogare  MicrosoP  Access  
permite  u;lizatorului  sa:  
– extragerea din tabele numai a câmpurilor relevante pentru
utilizatori;
– extragerea înregistrărilor din tabele prin specificarea unor
criterii de selecţie;
– regăsirea şi ordonarea datelor după anumite criterii;
– crearea de câmpuri calculate;
– extragerea datelor din una sau mai multe tabele şi realizarea
unor informaţii sintetice;
– crearea de tabele, adăugarea înregistrărilor în tabele, ştergerea
înregistrărilor din tabele şi actualizarea datelor;
– combinarea şi compararea ieşirilor prin realizarea mai multor
interogări în acelaşi timp;
– pregătirea datelor în vederea afişării lor în formulare sau
rapoarte.
În Microsoft Access se pot crea următoarele
tipuri de interogări:  
A. interogări de selecţie;

B. interogări parametrice;

C. interogări încrucişate;

D. interogări de acţiune.
A. Interogări de selecţie;  Select
Query
Interogările de selecţie extrag informaţii
din unul sau mai multe tabele şi le
afişează sub formă de listă. Acest tip de
interogări este cel mai utilizat;
Caracteristici:
Sunt cel mai uşor de creat şi au avantajul că
pot afişa un număr redus de date dintr-un
tabel mare (datele care îndeplinesc
condiţiile specificate).
Interogarile de selectie 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.
B. Interogări parametrice;  Query
Parameters
Interogările parametrice nu sunt
un tip special de interogări,in  cazul  
acestora o funcţie parametru
putând fi  folosită pentru toate
celelalte interogări prezentate
anterior; ele folosesc în mod
repetat o interogare,  efectuând
modificări în criteriile de selecţie.  
C. interogări încrucişate; Crosstab Query
•  Interogări încrucişate – sunt interogări de
tip Total care afişează o mare cantitate de
date provenite din unul sau mai multe tabele
într-o formă sintetică, centralizată în format
compact asemănător unei foi de calcul
tabelar.
•  Acest tip de interogare este util dacă obiectul
îl reprezintă analiza datelor şi crearea de
grafice şi diagrame pe baza sumei valorilor
din câmpurile numerice ale mai multor
interogări
D. Interogări de acţiune.  Action Query

•  Interogările 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.  
Crearea  Interogarilor    
Access  permite  crearea  interogărilor  in  
unul  din  următoarele  moduri:  
 
•  In  modul  Proiectare  interogare(Query  
Design)  

•  In  modul  Expert  Interogare  (Query  


Wizard)  
A.  Crearea  Interogărilor  in  modul  
Proiectare  interogare  (Query  design)  
•  Pentru  a  crea  o  interogare  de    in  acest  mod  se  parcurg  
următorii  pașii:  
1.  se  va  selecta  butonul  rubrica  standard  Creare(Create)  
2.   din    grupurile  acestui  buton  se  va  selecta  grupul    Altceva
(Others),    
3.  Din  interiorul  acestui  grup  se  va  selecta  Proiectare  Interogare  
1.Creare     3.Proiectare  
interogare  

2.Grupul  Altceva  
•  Selectând  Proiectare  Interogare  (Query  Design)apare  
caseta  de  dialog  Afișare  tabel  (Show  Table)  suprapusă  
peste  fereastra  Interogare  1  (Query  1).  

Interogare  1   Afișare  tabel  


Concomitent  cu  procesul  creari  interogari  se  va  deschide  si  
butonul  rubrica  contextual  Instrumente  Interogare  -­‐Proiectare  
(Query  Tools)-­‐  acest  buton  conține  toate  instrumentele  
necesare      in  lucrul  cu  interogările  
•  Din  caseta  de  dialog  Afisare  Tabel  (Show  Table)  sunt  selectate  tabelele  şi  
interogările  dorite  din  lista  inclusă  în  cadrul  bazei  de  date  ac;ve.  Ne  vom  
poziționa  pe  fiecare  din  tabelele  sau  interogările  pe  care  dorim  sa  le  
supunem  interogări  si  selectam  Adăugare(Add).  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.  
•  În partea superioară a ferestrei Interogare 1(Query1) vor fi
afişate tabelele sau interogările, fiecare cu lista câmpurilor
conţinute (figura). Î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 l – ∞). Dacă nu, relaţia între tabele poate fi creată în
cadrul interogării.
In  partea  inferioară  va  apărea  grila  Query  Design.  
Programul  va  atribui  primei  interogări  create,  dar  nesalvate  
încă,  un  nume  implicit  Query1.    
Grila Query Design  este structurată astfel:  
– linia Field(camp): 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:
– selectarea câmpului din cadrul listei Field;

– executarea unui dublu clik de mouse asupra câmpului


dorit din tabela/interogarea aflată în panoul superior;

– metoda drag-and-drop care presupune selectarea cu


mouse-ul a câmpului dorit din panoul superior şi tractarea
acestuia în linia Field.
2.  Se precizează, dacă este necesar, câmpul/câmpurile
după care se doreşte o eventuală sortare şi sensul
acesteia în linia Sort.

3. 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
Generare (Build) a meniului pe care îl activaţi
printr-un click dreapta de mouse în rândul Field!!!!
• Reguli  de  formare  a  
expresiilor  
introduse  pe  
câmpul  Criteria  
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.
Ø 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).
Fig2.  Proiectarea  unei  interogări  de  selecţie  
•  În figura 2 se prezintă modul în care s-a definit interogarea de
selecţie prin care se  realizează:
–  afişarea  numelui  clienţilor  cu  adresa  în  Ploieş,  sau  Braşov  (primul  
criteriu  de  selecţie),  
– numărului comenzii trimise şi data convenită a livrării care
trebuie să fie anterioară datei  curente  (cel  de  al  doilea  criteriu  de  
selecţie  precizat).  
•  Afişarea se realizează în ordinea alfabetică după numele
clienţilor.  
•  Sursa de date a cererii  este  reprezentată  de  două  tabele  ale  bazei  
de  date:  Clienţi  şi  respec,v  Comenzi.  
•  În  figura  urmatoare  este  redat  rezultatul  executării  cererii  anterior  
proiectate  
Utilizarea operatorilor în
interogarile Access.
Pentru a construi expresii pe rândul Criteria se
utilizează operatorii:  
•  aritmeWci:  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şW  operatori  returnează  valorile  logice  True  
şi  False.  
•  De  exemplu:    
•   >234  afiseaza  toate  numerele  mai  
mari  decat  234.  Pentru  a  gasi  
numerele  mai  mici  de  234,  u;liza;  
<234  
•  >25  AND  <50  afiseaza  valori  mai  mari  
decât  25  si  mai  mici  decât  50  
•  >=“Roman”  afiseaza  toate  
inregistrarile  de  la  Roman  pana  la  
sfarsitul  alfabetului  
•  asociaţi  operatorilor  de  comparare:  
– 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ă;


– BETWEEN – stabileşte dacă o valoare aparţine unui
interval specificat.
– 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;
Exemple  
•  IS  NULL  –  Returnează  toate  înregistrarile  ce  conţin  o  
valoare  nula  (necompletată  sau  nedefinita)  
•  IS  NOT  NULL  –  returnează  toate  înregistrarile  ce  con;n  
orice  valoare  
•  Like[A-­‐E]  –  Gaseste  toate  înregistrarile  care  incep  cu  
litere  de  la  A-­‐E  
•  Like”*at*”  –  gaseste  toate  înregistrarile  care  includ  
secventa  “at”  de  litere  
•  Between  #02/02/2011#  and  #03.03.2011#  -­‐  
deturneaza  datele  de  la  2  februarie2011  la  03  mar;e  
2011  
•  In(Motru,Rovinari,Targu-­‐Jiu)    -­‐  intr-­‐o  lista,  găseste  
toate  înregistrarile  ce  conţin  cele  3  oraşe    
•  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  &.  
Exemple  
•  Not  “Germania“  –  găseşte  toate  înregistrările  
unde  conţinutul  exact  al  câmpului  nu  este  exact  
egal  cu  "Germania“.  Criteriul  va  returna  doar  
înregistrările  ce  conţin  caractere  în  plus  fata  de  
Germania,  cum  ar  fi  Germania(euro),  sau  Europa
(Germania).  
•  “Craiova“  OR  “BucureşW“  OR  “Constanta"  –  
returnează  numai  acele  înregistrări  ce  conţin  
aceste  oraşe    
•  Not  “M*”  –  gaseste  toate  inregistrarile  ,  cu  
excep;a  celor  care  incep  cu  litera  M  
•  Not”*m”  –  gaseste  toate  inregistrarile  care  nu  se  
termina  cu  litera  m  
• 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.11# ceea ce indică data
de 31 decembrie 2011).  
• de identificare:    ! şi .  
Aceste două caractere sunt utilizate ca separatori,
astfel:
 
– Identifică atribute aparţinând unei tabele: Clienţi!
[Localitate]  
 
– Combină numele colecţiilor de obiecte şi numele
obiectelor pentru a selecta un anumit obiect  sau  
proprietate  a  lui:  Forms!  [Clienţi]  
 
– Deosebeşte numele obiectelor de cele ale
proprietăţilor: TextBox1.FontSize=12 unde:
TextBox reprezintă un obiect de control iar FontSize
reprezintă o proprietate (stabileşte  dimensiunea  
fontului)  
• Funcţiile: pot fi de natură:
–  Dată  calendaris,că  :  Date(),  Month(),  Year  (),  etc.  
 
– 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;  
AVG() – calculează media, etc.
 
– Financiare: PV() returnează valoarea actuală a unei anuităţi
plătite în rate periodice egale;  SLN() returnează valoarea
amortizării unui mijloc fix după o anumită perioadă (amortizare  
liniară) etc.  

–  Funcţii  diverse:  ISNUMERIC(),  ISNULL(),  etc.  


Exemple:  
Date() – returnează data curentă;
Month(Date()) returnează numărul lunii  
calendaristice curente.  
 Year(Date()) returnează anul curent.  
<Date()-­‐30  –  u:lizeaza  func:a  date  pentru  a  
returna  toate  datele  mai  vechi  de  30  de  zile  
Between  Date()  And  DateAdd(“M”,3,date())  –  
u:lizează  funcţiile  Date  si  DateAdd  pentru  a  
returna  toate  înregistrarile  pentru  3  luni  
incepand  cu  data  curenta    
Aplica;e  –  operatorii  Access  
•  Pentru  exemplificare  se  u,lizează  tabela  Clien,  care  va  
fi  modificata  asUel  incat  cuprinde  clien,  din  localita;le  
inserate  in  baza  de  date cu sau fără telefon. Tabela
modificata  are următoarele câmpuri:
         cod_client, nume  client,Tara,Localitatea,cod  postal,
strada, nr, sector, nr_telefon, data_instalării
 
Se  cere:  
1. Realizarea unei interogări pentru obţinerea unei
liste cu persoanele care au numărul de telefon  
care  începe  cu  7  (figura  2)  
       Sub  câmpul  nr_telefon  pe  rândul  Criteria  se  scrie  
expresia:  LIKE  “  7*  ”  
Fig.  2.  Interogarea abonaţi cu numărul de
telefon care începe cu 7  
De  asemenea  se  cere  şi:  
2. Realizarea unei interogări pentru obţinerea unei
liste cu abonaţii care au numărul de telefon  care  nu  
începe  cu  7.  
•  Sub  câmpul  nr_telefon  pe  rândul  Criteria  se  scrie  expresia:  
NOT  LIKE  “  7*  ”  
 
3. Realizarea unei interogări pentru obţinerea unei
liste cu abonaţii care nu au telefon.
•  Sub  câmpul  nr_telefon  pe  rândul  Criteria  se  scrie  expresia:  
IS  NULL  
 
4. Realizarea unei interogări pentru obţinerea unei
liste cu persoanele din sectorul 6 care au  numărul
de telefon care începe cu 7 sau a celor care nu au
telefon.    
•  Pe  rândul  Criteria  sub  câmpul  sector  se  scrie  6,  iar  sub  
câmpul  nr_telefon  se  scrie  expresia:  IS  NULL    OR  LIKE   7*  
5.  Lista  telefoanelor  instalate  între  1  Ianuarie  2014  şi  31  Decembrie  
2014  se  obţine  printr-­‐o  interogare  în  care  pe  rândul  Criteria  sub  
data_instalarii  se  scrie  expresia:  LIKE  “*.*.2014”  
6. Lista telefoanelor instalate în luna Aprilie  2014 se obţine
dacă sub câmpul data_instalarii pe  rândul  Criteria  se  scrie  
expresia:  LIKE  “*.04.2014”  
7. Interogarea pentru obţinerea listei persoanelor cărora li s-
a instalat telefon în luna 04, 2014 va  cuprinde  sub  câmpul  
data_instalarii  expresia:  >=  #  01.04.2014  #  And  <=  #  30.04.2014  #  
 
8. Pentru a obţine o listă a persoanelor din sectoarele 1, 2 şi
3 care nu au telefon instalat, se va  realiza  interogarea:  sub  
câmpul  sector  se  scrie  expresia:  IN  (1,2,3)  iar  sub  câmpul  
nr_telefon  se  scrie  expresia:  IS  NULL  
9. Pentru a obţine o listă cu telefoanele instalate în ultimul
trimestru al anului 2014, se va realiza  interogarea:  sub  câmpul  
data_instalarii  se  scrie  expresia:  Between  #01.10.2014#  And  
#31.12.2014#  

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