Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » referate » informatica » access
Interogari si date externe

Interogari si date externe


Interogari si date externe

O interogare (query) este o definitie a datelor care se extrag: care campuri din tabele, din ce tabele, criteriile de selectie, ordinea de sortare. Structura unei interogari indica datele care se vor extrage, Microsoft Access oferind urmatoarele posibilitati:

  • selectarea anumitor campuri mai semnificative din inregistrarile unei tabele;
  • selectarea inregistrarilor care satisfac anumite criterii;
  • sortarea inregistrarilor intr-o ordine precizata de utilizator;
  • interogarea mai multor tabele; o interogare permite combinarea inregistrarilor din mai multe tabele si afisarea rezultatului intr-un singur tabel de date;
  • interogarea altor baze de date existente in sisteme de gestiune a bazelor de date cum sunt FoxPro, Paradox, dBase, Btrieve, Microsoft SQL Server;
  • crearea de campuri pentru afisarea rezultatelor unor calcule;
  • crearea de rapoarte, formulare sau alte interogari.



Odata construita, o interogare poate fi sursa de inregistrari pentru crearea unui formular sau a unui raport. De fiecare data cand se deschide formularul sau se imprima raportul, interogarea folosita drept sursa de date extrage din tabela informatii actualizate. De asemenea, se pot intro-duce sau modifica date fie direct in tabelul de date a interogarii, fie in formularul creat pe baza acesteia.

Interogarile afiseaza datele continute in cel mult 16 tabele. Cu ajutorul lor se poate indica modul in care sa fie prezentate datele, alegand tabelele care contin interogarea si cel mult 255 de campuri ale acestora.

In Microsoft Access se pot crea urmatoarele tipuri de interogari: interogari de selectie, interogari de actiune, interogari incrucisate si interogari parametrice.

  1. Interogarile de selectie extrag informatii din unul sau mai multe tabele si le afiseaza sub forma de lista. Sunt cel mai usor de creat si au avantajul ca pot afisa un numar redus de date dintr-un tabel de mare capacitate (datele care indeplinesc conditiile specificate). Ele permit si modificarea rezultatului afisat, modificare ce va fi vazuta si in tabelul sursa. De asemenea, permit si folosirea de parametri, cum este reuniunea de campuri din tabele intre care nu exista nici o legatura.
  2. Interogarile de actiune creeaza un nou tabel in baza de date sau realizeaza modificari majore ale unui tabel existent. In general, toate interogarile de actiune pot fi realizate pe baza unei interogari de selectie. Ele permit adaugarea, modificarea sau stergerea de inregistrari intr-un tabel. Exista patru tipuri de interogari de actiune:
    • interogari de generare a unui nou tabel din datele continute in setul de rezultate al interogarii;
    • interogari de adaugare a noi inregistrari intr-un tabel;
    • interogari de stergere a unor inregistrari dintr-un tabel;
    • interogari de actualizare a unor inregistrari dintr-un tabel, conform cu o conditie ce trebuie indeplinita.

Actiunile acestora sunt ireversibile asupra datelor din tabelele sursa, iar in cazul ultimelor trei dintre ele, trebuie urmarita pastrarea integritatii re-ferentiale atunci cand prin intermediul lor se actioneaza asupra mai mul-tor tabele legate.

  1. Interogarile incrucisate centralizeaza in formatul unei foi de calcul tabelar datele din unul sau mai multe tabele. Datele rezultate dupa executia unei astfel de interogari sunt prezentate intr-un format potrivit pentru analiza datelor si crearea de grafice.
  2. Interogarile parametrice nu sunt un tip special de interogari, o functie parametru putand fi folosita pentru toate celelalte interogari prezentate mai sus; ele folosesc in mod repetat o interogare, efectuand modificari in criteriile de selectie.

Crearea interogarilor
Microsoft Access include patru modalitati de creare a unei interogari:

  1. automat (Query Wizard);
  2. manual (Query Design);
  3. comenzi SQL;
  4. prin program(bibliotecile ActiveX Data Objects, Data Microsoft Access Objects si obiectele QueryDef)

Crearea interogarilor utilizand Query Wizard, este posibila atat pentru interogarile de selectie cat si pentru interogarile incrucisate.

Simple Query Wizard este destinat pentru crearea de interogari de selectie in principiu dintr-un singur tabel, dar poate afisa date din doua sau mai multe tabele si interogari intre care exista sau nu legaturi directe. Printre optiunile puse la dispozitia utilizatorului sunt si cele de aduna-re/contorizare a datelor din campurile ce contin valori numerice. In ecranul din figura de mai jos campurile selectate sunt din doua tabele legate direct. Rezultatul interogarii este reprezentat de lista tuturor angajatilor, identificati prin nume si prenume. Alaturi de fiecar angajat apare si denumirea departamentului in care acesta isi desfasoara activitatea.


Pentru interogarile incrucisate, Microsoft Access dispune de un program Wizard dedicat (Crosstab Query Wizard), care se poate accesa prin intermediul butonului New. In aceasta interogare s-au stabilit randurile, coloanele si functia de calcul pentru determinarea numarului de angajati care isi desfasoara activitatea in cadrul fiecarui departament. Crosstab Query Wizard este restrictionat de posibilitatea de a totaliza date doar intr-un singur tabel.

Alaturi de cele doua programe Wizard, Microsoft Access mai pune la dispozitie alte doua tipuri de astfel de programe deosebit de utile in intretinerea unei baze de date relationale: Find Duplicates Query Wizard si Find Unmatches Query Wizard care pot fi apelate prin expri-marea optiunii de creare a unei noi interogari, la selectarea butonului New.

Interogarea care gaseste duplicatele (Find Duplicates Query Wizard) localizeaza inregistrarile ce contin valorile duplicat dintr-un anumit camp. Este o interogare extrem de utila atat in gestionarea creste-rii dimensiunii unui tabel, prin evitarea incarcarii inutile cu date duble, cat si pentru stabilirea pe parcurs a unui camp drept cheie primara, atunci cand inregistrarile duplicat nu permit acest lucru. In figura de mai jos este pre-zentat unul dintre ecranele de lucru al acestui program, in care s-a ales campul pentru care se doreste cautarea de duplicate.

Daca interogarea ce gaseste duplicatele este utila pentru eliminarea inregistrarilor duble ca urmare a unor erori de introducere, cea care gaseste valorile nepotrivite localizeaza inregistrarile asociate care nu mai au o inregistrare principala corespondenta ca urmare a erorilor de sterge-re si care afecteaza integritatea referentiala.

Cele patru programe Wizard sunt extrem de utile si de facile in utilizare, dar destul de limitate pentru a face fata tuturor cerintelor unei baze de date de dimensiuni mari.

Crearea manuala a interogarilor se realizeaza prin intermediul optiuni Query Design care foloseste pentru interfata grafica Query by Example (QBE). Aceasta permite si utilizatorilor care nu stiu limbajul de programare QBE sa gaseasca si sa afiseze informatiile de care au nevoie.

Odata activata optiunea Query Design, Microsoft Access va considera implicit ca orice generare a unei noi interogari este o interogare de selectie. Transformarea tipului de interogare implicit se face prin selectarea tipului dorit din meniul Query.

Pentru a crea o noua interogare in modul Query Design, parcurgeti urmatorii pasi:

  1. selectati tabelele din care dorti sa fie afisate/prelucrate datele;
  2. selectati campurile care se vor transforma in coloanele tabelului rezultat al interogarii;
  3. stabiliti criteriile de selectie si campurile asupra carora vor fi aplicate; se poate apela la un singur criteriu de selectie sau la mai multe criterii, aplicate fie unor campuri diferite, fie formand un criteriu compus aplicat aceluiasi camp;
  4. stabiliti parametrili de selectie. Parametrii functioneaza pentru interogari asemanator criteriilor de selectie, cu deosebirea ca la fiecare executie trebuie specificata valoarea parametrului in functie de care se va realiza selectia;
  5. stabiliti tipul de sortare a datelor afisate ca rezultat si a campurilor asupra carora va actiona;
  6. specificati formula pentru campurile care sunt rezultatul unor operatii executate asupra unora dintre campurile deja existente. Acest lucru se poate face fie prin scrierea directa a formulei, fie prin apelarea la generatoarele de functii pentru calcule mai complicate sau care folosesc functii definite deja in Microsoft Access;
  7. alegeti tipul de interogare prin selectarea din meniul Query a uneia dintre optiunile: interogari de selectie, interogari incrucisate, de generare a unui tabel, de adaugare intr-un tabel, de stergere dintr-un tabel, de actualizare a unui tabel. In functie de optiunea aleasa, Microsoft Access modifica designul interogarii si cere informatii suplimentare astfel:
    • pentru generarea unui tabel - numele tabelului ce urmeaza a fi creat;
    • pentru adaugarea intr-un tabel - numele tabelului ce urmeaza a fi incarcat cu date, precum si campurile destinatie;
    • pentru actualizare - conditiile de actualizare si valoarea la care se doreste actualizarea;
    • pentru stergere - numele tabelului din care se va sterge si conditia de stergere.

Ca si in cazul tabelelor, Microsoft Access are capacitatea de a afisa in mod ierarhic doua interogari intre care exista o legatura. In acest fel, in cadrul rezultatului unei interogari de selectie, pot fi afisate sub forma de subtabel si date dintr-o alta interogare aflata intr-o relatie de tip parinte-copil cu interogarea initiala, asa cum se poate observa si in figura de mai jos. In acest scop se foloseste din meniul View optiunea de proprietati ale interogarii, in cadrul carora se specifica interogarea cu care este legata cea curenta, precum si campurile prin care se realizeaza aceasta legatura.

Folosind o baza de date destinata evidentei angajatilor ce a fost creata anterior, vom utiliza Query Design pentru a realiza o interogare care sa genereze denumirea tuturor punctelor de lucru in care isi desfasoara activitatea angajati avand numele Popescu. Pentru aceasta, in fereastra interogarii vom adauga cele doua tabele, Angajati si PuncteLucru, iar Microsoft Access va trasa automat legatura existenta intre campurile corespondente. Urmeaza sa adaugam campurile dorite (dublu clic), in cazul nostru Denumire si Nume, dupa care adaugam conditia de filtrare. Pentru aceasta, ne deplasam pe coloana campului Nume, linia Criteria, si introducem textul "Popescu". De asemenea, vom scoate bifa de pe coloana campului Nume pentru ca acesta sa nu apara in cadrul rezultatelor interogarii.

Pentru a rula interogarea avem la dispozitie butonul din bara de instrumente pe care este desenat semnul exclamarii de culoare rosie sau, in mod echivalent, putem folosi optiunea Run a meniului Query.

Pentru salvarea interogarii sub numele PuncteLucruPopescu s-a folosit butonul Save. Dupa ce operatia de salvare s-a incheiat cu succes, interogarea nou creata poate fi accesata folosind fereastra bazei de date.



In mod asemanator, dorim sa realizam o interogare care sa genereze toti angajatii care au mai mult de doi copii. In fereastra Query Design vom adauga de data aceasta un singur tabel, Angajati. Campurile care vor fi adaugate sunt Nume, Prenume si NumarCopii. Pe linia Criteria a ultimului camp vom specifica conditia de filtrare >2, ca in figura de mai jos. Putem utiliza linia Sort pentru a specifica modalitatea in care dorim sa se realizeze ordonarea inregistrarilor returnate de query. In cazul nostru am optat pentru ordonarea descendenta dupa nume a angajatilor. Interogarea va fi salvata sub numele AngajatiCuPeste2Copii.

Daca insa ne-ar interesa sa obtinem, cu ajutorul unei interogari, toti angajatii care sunt nascuti inainte de 11 decembrie 1976, atunci in coloana campului DataNastere, pe linia Criteria, va trebui specificata urmatoarea conditie de filtrare: < #11/12/1976#. In situatia in care dorim ca unul dintre campurile returnate sa fie denumit altfel, atunci va trebui ca in fereastra interogarii sa specificam noul nume inaintea campului dorit urmat de semnul:.










Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.