34
Laborator7 SIG

Interogari Campuri Calculate, Parametrizate

Embed Size (px)

DESCRIPTION

sig

Citation preview

Page 1: Interogari Campuri Calculate, Parametrizate

Laborator7  SIG  

Page 2: Interogari Campuri Calculate, Parametrizate

Aplica1e  –  operatorii  Access  •  Pentru  exemplificare  se  u1lizează  tabela  Clien1  care  va  fi  modificata  as9el  incat  cuprinde  clien1  din  localita1le  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*  ”  

Page 3: Interogari Campuri Calculate, Parametrizate

Fig.  2.  Interogarea abonaţi cu numărul de telefon care începe cu 7  

Page 4: Interogari Campuri Calculate, Parametrizate

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

Page 5: Interogari Campuri Calculate, Parametrizate

5.  Lista  telefoanelor  instalate  între  1  Ianuarie  2015  şi  31  Mar;e  2015  se  obţine  printr-­‐o  interogare  în  care  pe  rândul  Criteria  sub  data_instalarii  se  scrie  expresia:  LIKE  “*.*.2015”  

6. Lista telefoanelor instalate în luna Aprilie  2015 se obţine dacă sub câmpul data_instalarii pe  rândul  Criteria  se  scrie  expresia:  LIKE  “*.04.2015”  

7. Interogarea pentru obţinerea listei persoanelor cărora li s-a instalat telefon în luna 04, 2015 va  cuprinde  sub  câmpul  data_instalarii  expresia:  >=  #  01.04.2015  #  And  <=  #  30.04.2015  #  

 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#  

Page 6: Interogari Campuri Calculate, Parametrizate

Campuri calculate in interogarile de

selectie  

Page 7: Interogari Campuri Calculate, Parametrizate

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

Page 8: Interogari Campuri Calculate, Parametrizate

• 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ă simbolul două puncte (:)şi apoi se completează expresia dorită.

Page 9: Interogari Campuri Calculate, Parametrizate

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

•  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,  asHel:        

                   Valoare:  [can1tate]*[pret_unitar]    Sau            stoc_final:  [stoc_ini1al]  +  [Cant_intrata]  -­‐  [Cant_iesita]    

Page 10: Interogari Campuri Calculate, Parametrizate

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

Page 11: Interogari Campuri Calculate, Parametrizate

• în câmpurile calculate se poate utiliza funcţia IIF cu următoarea sintaxă:

IIF ( <expresie>, valoare 1, valoare2) unde:  – <expresie> – este o expresie a cărei

valoare de adevăr este evaluată pentru fiecare înregistrare;

– valoare 1 – este valoarea returnată dacă expresie este adevărată;

– valoare2 – este valoarea returnată dacă expresie este falsă.  

Page 12: Interogari Campuri Calculate, Parametrizate

Exemplu: Interogarea din figura 1 (pentru aplicaţia de la interogari) calculează data limită până la  care  trebuie  onorată  fiecare  comandă.  

•  Fig  1.  Exemplu  de  câmp  calculat  într-­‐o  interogare  

Page 13: Interogari Campuri Calculate, Parametrizate

•  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 (exemplul din figura 1) 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(Generare)).

•  Exemplul din figura 2 prezintă utilizarea generatorului de expresii pentru a calcula valoarea fiecărui produs de pe o comandă.

Page 14: Interogari Campuri Calculate, Parametrizate

Fig. 2. Fereastra Expression Builder

Page 15: Interogari Campuri Calculate, Parametrizate
Page 16: Interogari Campuri Calculate, Parametrizate

Fig 4 Rezultatul Interogari

Page 17: Interogari Campuri Calculate, Parametrizate

Aplica;a  1  Pe baza tabelelor: nrcmd (nr_comanda, data, cod_furnizor, cod_gestiune, cod_factura) material (nr_comanda, cod_material, cant_aprov, pret_aprov), Să se realizeze o interogare pentru calcularea valorii materialelor, a

taxei pe valoarea adăugată şi valoarea totală (figura 5.)

Fig 5 Campuri calculate

Page 18: Interogari Campuri Calculate, Parametrizate

Fig. 6. Rezultatul interogării  

Page 19: Interogari Campuri Calculate, Parametrizate

Aplicaţia 2: Să se creeze tabelul Studenţi cu următoarea structură:  

Nr  matricol   Number Cap1on:  Numar  matricol  

Page 20: Interogari Campuri Calculate, Parametrizate

Se  cere:  1. să se creeze o interogare care să

afişeze doar numele şi prenumele studenţilor afişaţi în ordine  alfabetică

 2. să se creeze o interogare care să

calculeze media studenţilor şi care să afişeze doar numele,  prenumele şi media acestora precum şi dacă au fost admişi sau nu.  

Page 21: Interogari Campuri Calculate, Parametrizate

Rezolvare  1. Să se creeze o interogare care să afişeze doar numele şi prenumele studenţilor afişaţi în ordine  alfabetică  

Nr  matricol  

Fig. 7 Interogarea Fig. 8 Rezultatul Interogari

Page 22: Interogari Campuri Calculate, Parametrizate

Rezolvare 2. Să se creeze o interogare care să calculeze media studenţilor şi care să afişeze doar numele, prenumele şi media acestora precum şi dacă au fost admişi sau nu.

-­‐  Se de click pe butonul  Creare şi se alege opţiunea Proiectare  Interogare  

-­‐  Aducem  câmpurile  Nume,  Prenume.  -­‐  Completăm următoarele două coloane din

grilă  cu     Medie: ([Nota 1]+[Nota 2]+[Nota 3])/3 Rezultat: IIf([Medie]>=5;"admis";"respins")

cu:

Page 23: Interogari Campuri Calculate, Parametrizate

La linia Sort pentru campul media alegem tipul de sortare

ascendentă. Interogarea va arata ca in figura 9:

Fig.  9    Interogarea  

Page 24: Interogari Campuri Calculate, Parametrizate

Închidem interogarea de la butonul x, se salvează sub numele Interogarea 2, apoi vizualizăm rezultatul prin deschiderea acesteia din panoul Queries (Interogări) (figura 10).

Fig. 10 Rezultatul Interogari

Page 25: Interogari Campuri Calculate, Parametrizate

 Interogari    parametrizate  

Page 26: Interogari Campuri Calculate, Parametrizate

Interogari    parametrizate  •  Interogările de selecţie prezentate până

în acest moment returnează întotdeauna înregistrările din tabelele sursă care corespund unei anumite cereri fixe.

• EX:clienţii trebuie să aibă domiciliul în Bucureşti sau Ploieşti iar data livrării să fie anterioare datei curente (vezi exemplul de interogare de selecţie prezentat într-un paragraf anterior).

Page 27: Interogari Campuri Calculate, Parametrizate

De multe ori însă, ar fi utilă o interogare al cărei criteriu de selecţie să poată fi precizat la nivel general şi particularizat de utilizator în funcţie de necesităţile sale de informare (precizându-se concret ce realizări ale atributului sunt căutate) chiar în momentul execuţiei cererii.

Page 28: Interogari Campuri Calculate, Parametrizate

• 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 afişat la executarea cererii permiţând ca utilizatorul să introducă criteriul de selecţie dorit.

Page 29: Interogari Campuri Calculate, Parametrizate

• Parametrii  pot  fi  u1lizaţi  nu  doar  în  rândul  de  criterii,  ci  şi  în  formulele  câmpurilor  calculate,  dacă se doreşte introducerea unui termen variabil în expresii.  

Page 30: Interogari Campuri Calculate, Parametrizate

•  Când se creează şi salvează o interogare este posibil să nu se cunoască valorile pentru un  câmp.  

•  Se  va  crea  un  parametru  pentru  interogare  (un  nume  de  câmp  diferit  de  numele  câmpurilor  tabelei sau interogării, încadrat de paranteze drepte).

 La execuţia interogării apare o casetă de

dialog prin care se cere valoarea pentru câmpul  parametru.  

Page 31: Interogari Campuri Calculate, Parametrizate

Fig. 1 Interogare cu parametri Parametru  

Exemplul din figura 1. prezintă o cerere care va solicita utilizatorului numărul comenzii ce se doreşte a fi afişată şi procentul ce va fi folosit pentru a calcula câmpul Reducere.

Page 32: Interogari Campuri Calculate, Parametrizate

Aplicaţia  3:  Pe  baza  unei  tabele  existente  cu  structura:  

studen1  (Nr  matricol,  Nume,  Prenume,  Tip  student,  Facultatea,  Grupa,  An  studiu,  Media)    Să se realizeze o interogare parametrizată

care să listeze studenţii unei grupe dintr-o  facultate, în ordine alfabetică (figura 2.). Rezultatul este prezentat în figura 3.  

Page 33: Interogari Campuri Calculate, Parametrizate

Fig. 2. Interogare cu parametri

Nr matricol  

Nr matricol  

Page 34: Interogari Campuri Calculate, Parametrizate

Nr  matric  

Fig. 3 Rezultatul interogării