|
Interogări (Query)
Interogările reprezintă modalităţi de selecţie şi afişare a informaţie din unul sau mai multe surse (tabele sau alte interogări), formulate cu ajutorul unor condiţii logice.
Tipuri de interogări
În funcţie de modul de definire şi rezultatele acţiunii, interogarile pot fi clasificate astfel:
- interogări simple sau de selecţie (folosind condiţii logice);
- interogări pentru actualizare - delete query, update query şi append query;
-
interogări încrucişate sau bidimensionale.
Rezultatul interogării este un nou set de date, numit set dinamic (engl: Dynaset). Setul dinamic (rezultalul interogării) conţine doar câmpurile specificate ale înregistrarilor din tabelele specificate care satisfac condiţiile specificate. Denumirea '"Set dinamic" este legată de faptul că orice modificări ale datelor din tabelele specificate în interogare implică modificări corespunzătoare ale rezultatului interogării (la o nouă executare a ei) şi invers, orice modificări în setul dinamic implică modificări în tabelele respective (cu condiţia respectării integrităţii datelor). Seturile de date dinamice nu se memorează; ele se formează din nou de fiecare dată când executăm o interogare. Dacă în tabelele bazei de date intervin modificări, rezultatele executării a două interogari identice pot fi diferite.
Crearea unei interogări simple (de selecţie a înregistrărilor -Select Query)
Pentru a defini o interogare de selecţie selectăm opţiunea Queries din fereastra Database, apoi butonul Create query in design view.
Ca efect, va apărea fereastra alăturată, din care selectăm consecutiv (în orice ordine) tabelele necesare şi pentru fiecare acţionăm butonul Add. După selectarea tabelelor / interogărilor acţionăm butonul Close.
În situaţia în care, după ce au fost stabilite sursele care vor fi interogate, dorim să revenim asupra lor şi să le schimbăm, avem la dispoziţie opţiunile meniului Query, cu menţiunea că pentru a înlătura o sursă trebuie mai întâi să o selectăm şi apoi să alegem Remove:
|
sau dăm clic dreapta pe sursă şi alegem Remove:
|
Dacă tabelele au câmpuri comune (definite în procesul creării lor), Access stabileşte în mod automat legăturile respective. În continuare indicăm, în partea de jos a ferestrei, câmpurile din fiecare tabel (în ordinea dorită), care urmează a fi afişate sau pentru care se vor specifica condiţii de selecţie şi / sau de sortare. Includerea câmpurilor se face prin "tragerea" lor cu ajutorul mouse-ului din tabelele din caseta de sus în rândul Field al casetei de jos sau prin executarea unui dublu-clic pe denumirile respective. După aceasta, specificăm condiţiile selecţiei şi / sau ordinea sortării, în acest fel interogarea se consideră definită.
În rândul Criteria din partea de jos a ferestrei specificăm condiţia selecţiei. Dacă dorim ca înregistrările să fie afişate într-o anumită ordine (crescătoare / alfabetică sau descrescătoare), pentru câmpurile respective specificăm opţiunile Ascending sau Descending în rândul Sort.
Salvarea unei interogări
Interogarea astfel definită poate fi executată imediat în scopul obţinerii rezultatului, sau salvată pentru a fi executată ulterior. În primul caz, actionăm butonul (Datasheet View) din bara cu instrumente sau opţiunea Datasheet View din meniul View, în al doilea caz executăm comanda Save din meniul File. La salvarea interogării indicăm numele ei, care nu trebuie să coincidă cu numele unor tabele sau ale unor interogări definite anterior.
Interogări de acţiune: Delete Query, Update Query şi Append Query
Interogari de excludere (ştergere) a unor înregistrări (Delete Query)
- Creăm interogarea în modul Design View: selectăm Query din fereastra Database şi alegem modul de proiectare Design View.
- Includem tabela pentru care se execută interogarea.
- Selectăm Delete Query din meniul Query. Ca rezultat, titlul ferestrei se schimbă în Delete Query, iar în partea de jos a ferestrei apare rândul Delete.
- Din lista câmpurilor tabelei, care apare afisată în partea de sus a ferestrei, selectăm câmpurile care vor fi afişate în interogaresau pentru care vor fi specificate condiţii de selecţie şi le "tragem" în celulele respective ale liniei Field din partea de jos. Ca rezultat, în celulele respective apare automat, pentru fiecare câmp, opţiunea Where (din engleza - Unde, ín care).
- Introducem în celulele liniei Criteria condiţiile selecţiei (condiţiile pe care trebuie să le îndeplinească înregistrările care vor fi şterse, în dreptul câmpului corespunzător).
- Pentru a obţine lista înregistrărilor care urmează a fi excluse (dar încă n-au fost excluse), vizualizăm interogarea în modul Datasheet View.
- Dacă rezultatele obţinute sunt cele dorite, revenim în modul Design View pentru a elimina realmente înregistrările, selectând comanda Run din meniul Query. Ca rezultat, pe ecran apare un mesaj de informare despre numărul total al inregistrarilor care urmează a fi eliminate. Dacă acţionăm butonul Yes, înregistrările vizate sunt eliminate definitiv. Pentru renunţare, acţionam butonul No.
- Salvăm interogarea.
Exemplu:
Pentru tabela următoare:
Eliminarea persoanelor care au studii "Liceale":
Interogări de actualizare a înregistrărilor (Update Query)
Se utilizează în cazul în care este necesară modificarea unui număr mare de înregistrari, respectând aceeaşi modalitate de modificare. Vom descrie în continuare modul de definire a unei interogări de actualizare.
- Creăm interogarea în modul Design View: selectăm Query din fereastra Database şi alegem modul de proiectare Design View.
- Includem tabela pentru care se execută interogarea.
- Selectăm Update Query din meniul Query. Ca rezultat, titlul ferestrei se modifică în Update Query, iar în partea de jos apare rândul Update To.
- Includem (prin "tragere") în celulele rândului Field câmpurile care dorim să apară în interogare sau cele pentru care vom stabili criterii de actualizare.
- Pentru ca anumite câmpuri ale tabelei să fie afişate în interogarea de actualizare trebuie să introducem în rândul Update To numele câmpului cuprins între paranteze drepte, altfel acesta nu va fi afişat. De asemenea, putem completa automat un câmp calculat, care nu a fost completat iniţial în tabelă. De exemplu, dacă avem tabela Medii, care are câmpurile: Numele şi prenumele elevului, Media sem I, Media Sem II şi Media generală, iar câmpul Media generală nu a fost completat iniţial pentru nici o înregistrare, vom trece în dreptul câmpului Media generală de pe rândul Update: ([Media sem I]+[Media sem II])/2.
- Introducem în rândul Criteria condiţia pe care trebuie să o îndeplinească înregistrările care vor fi modificate.
- Vizualizăm interogarea în modul Datasheet View pentru a vedea modificările care se vor face. Modificările propriu-zise vor fi operate numai la revenirea în modul Design View şi executarea comenzii Run din meniul Query. ín acest caz, pe ecran va apărea un mesaj despre numarul total al înregistrărilor care urmează a fi modificate. Acţionând butonul Yes, Access va efectua modificările. Pentru a renunţa la modificări, acţionăm butonul No .
Observaţie: Interogarile de tip Update se execută, de regulă, o singură dată. ín cazul executării repetate a interogării, de exemplu aplicarea unei scumpiri de 2% la pretul unor produse, această majorare va fi realizată la fiecare execuţie a interogării.
Interogări de adăugare a înregistrărilor (Append Query)
Se utilizează în cazul în care este necesară adăugareavunui set de înregistrări dintr-o tabelă în altă tabelă. Aceasta va selecta datele care tebuie adăugate şi le va trimite în câmpurile tabelei destinaţie. Vom descrie în continuare modul de definire a unei interogări de adăugare.
- Creăm interogarea în modul Design View: selectăm Query din fereastra Database şi alegem modul de proiectare Design View.
- Includem tabela pentru care se execută interogarea.
- Includem (prin "tragere") în celulele rândului Field câmpurile care dorim să apară în interogare sau cele pentru care vom stabili criterii de adăugare.
- Selectăm Append Query din meniul Query. Indicăm tabela destinaţie.
Ca rezultat, titlul ferestrei se modifică în Append Query, iar în partea de jos apare rândul Append To.
- Introducem în rândul Criteria condiţia pe care trebuie să o îndeplinească înregistrările care vor fi preluate.
- Precizăm pe linia Append To numele câmpului destinaţie (doar în cazul în care nu au acelaşi nume).
- Vizualizăm interogarea în modul Datasheet View pentru a vedea modificările care se vor face. Modificările propriu-zise vor fi operate numai la revenirea în modul Design View şi executarea comenzii Run din meniul Query.
|
|