Interogari Campuri Calculate, Parametrizate

Preview:

DESCRIPTION

sig

Citation preview

Laborator7  SIG  

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

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  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#  

Campuri calculate in interogarile de

selectie  

• 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 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ă.

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]    

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.  

• î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ă.  

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  

•  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ă.

Fig. 2. Fereastra Expression Builder

Fig 4 Rezultatul Interogari

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

Fig. 6. Rezultatul interogării  

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

Nr  matricol   Number Cap1on:  Numar  matricol  

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.  

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

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:

La linia Sort pentru campul media alegem tipul de sortare

ascendentă. Interogarea va arata ca in figura 9:

Fig.  9    Interogarea  

Î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

 Interogari    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).

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.

• 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.

• 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.  

•  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.  

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.

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.  

Fig. 2. Interogare cu parametri

Nr matricol  

Nr matricol  

Nr  matric  

Fig. 3 Rezultatul interogării