Ce este o interogare de selectie
Tabelul Materiale tine TOATE cele 400 de randuri, cu TOATE coloanele. O interogare precum "Materiale sub stoc minim" arata doar cateva randuri (cele cu stoc mic) si poate doar cateva coloane (denumire, cantitate, categorie) — restul informatiei ramane ascunsa, dar nu sters.
In Access, din panglica Create (Creare) alegi Query Design (Proiectare interogare). In versiunile 2007-2019 se deschide fereastra "Show Table" (Afisare tabel), din care alegi tabelul (sau tabelele) cu care lucrezi si apesi Add (Adauga), apoi Close (Inchide). In Access pentru Microsoft 365 si Access 2021, aceeasi actiune deschide un panou lateral numit Add Tables (Adaugare tabele), in partea dreapta a ecranului: dai clic pe tabelul dorit si apesi Add Selected Tables (nu mai exista buton Close — inchizi panoul cu X). Tabelul apare ca o casuta cu lista de coloane in partea de sus a ferestrei; in partea de jos este grila de proiectare (design grid), unde alegi coloanele si pui criteriile.
Grila de proiectare: ce coloane alegi si in ce ordine
Poti adauga o coloana in grila exclusiv ca sa scrii un criteriu pe ea, si apoi sa DEBIFEZI casuta Show de pe randul ei — coloana filtreaza randurile, dar nu apare in lista finala. Exemplu: ti se cere "afiseaza doar Denumire si Cantitate, pentru materialele din categoria Vopsea". Adaugi in grila trei coloane — Denumire, Cantitate si Categorie — pui criteriul "Vopsea" sub Categorie, apoi debifezi Show doar la Categorie. Rezultatul arata exact doua coloane (Denumire, Cantitate), dar filtrarea dupa Categorie tot s-a aplicat.
Vrei sa vezi doar denumirea, categoria si cantitatea din tabelul Materiale:
1. Create → Query Design → adaugi tabelul Materiale → Close.
2. Dublu-clic pe Denumire in casuta tabelului — apare in prima coloana a grilei.
3. Dublu-clic pe Categorie — apare in a doua coloana.
4. Dublu-clic pe Cantitate — apare in a treia coloana.
5. Apesi butonul Run (semnul de exclamare rosu din panglica Design) — Access ruleaza interogarea si afiseaza rezultatul intr-o fila cu tabel (Datasheet View).
6. Salvezi interogarea cu Ctrl+S si ii dai un nume, de exemplu Lista_Materiale_Simpla.
Daca vrei ca Cantitate sa apara inainte de Categorie in rezultat, muti coloana in grila (selectezi capul de coloana din grila si o tragi la stanga). Ordinea din tabelul original nu conteaza — conteaza doar ordinea din grila interogarii.
Criterii simple: pe text si pe numere
Coloana Categorie, criteriu pentru "Lemn":
Scrii: Lemn sau "Lemn" — Access adauga automat ghilimelele: "Lemn".
Pentru "orice categorie in afara de Lemn": Not "Lemn".
Pentru "denumiri care contin cuvantul suruburi", indiferent ce mai e in nume: Like "*suruburi*" — semnul * inlocuieste orice sir de caractere, inainte si dupa cuvantul cautat.
Coloana Cantitate:
Stoc sub 10: <10
Stoc intre 5 si 20 (inclusiv): >=5 And <=20 sau Between 5 And 20
Stoc exact 0 (rupt de stoc): 0
Stoc diferit de 0: <>0
Tabelul Materiale are randurile: Sipca brad (Lemn, 8 buc), Placaj 18mm (Lemn, 25 buc), Balama (Feronerie, 6 buc), Sipca stejar (Lemn, 3 buc). Interogare cu criteriul Categorie = "Lemn" SI Cantitate < 10: rezultatul contine exact doua randuri — Sipca brad (8 buc) si Sipca stejar (3 buc). Placaj 18mm e Lemn dar are 25 buc (nu trece criteriul cantitate); Balama are stoc mic dar nu e Lemn.
Criterii pe date calendaristice
01.03.2026, iar Access ii adauga singur dupa ce apesi Enter, daca a recunoscut valoarea ca data. Formatul afisat depinde de setarile regionale ale calculatorului, dar diezii trebuie sa apara in criteriul final (tastati de tine sau adaugati automat).
Receptii dupa 1 martie 2026: >#01.03.2026#
Receptii intr-un interval, tot martie 2026: Between #01.03.2026# And #31.03.2026#
Receptii facute exact azi — Access are o functie care returneaza data curenta a calculatorului: Date(). Criteriu pentru "azi": =Date().
Materiale receptionate in ultimele 30 de zile: >=Date()-30 — scazi 30 de zile din data curenta.
Cand tastezi o data sub o coloana Date/Time si apesi Enter, Access recunoaste valoarea si adauga singur diezii — la fel cum adauga singur ghilimelele in jurul textului. Daca scrii 01.03.2026 sub DataReceptie, dupa Enter vezi #01.03.2026# — semn ca a fost inteleasa corect ca data. Semnul ca ceva NU e in regula e exact invers: daca dupa Enter diezii NU apar, inseamna ca Access nu a recunoscut sirul ca fiind o data (de exemplu ai scris ceva ambiguu sau intr-un format gresit) — verifica ce ai scris, pentru ca altfel criteriul se comporta ca text sau numar, nu ca data calendaristica.
Combinarea criteriilor: SI (AND) si SAU (OR)
Vrei: Categorie = Lemn SI Cantitate < 10.
In grila: pe randul Criteria, sub coloana Categorie scrii "Lemn", iar sub coloana Cantitate, PE ACELASI RAND, scrii <10.
Rezultat pe exemplul din Atomul 3: doar Sipca brad si Sipca stejar.
Vrei: Categorie = Lemn SAU Categorie = Feronerie (adica orice material din una din cele doua categorii).
In grila: sub coloana Categorie, pe randul Criteria scrii "Lemn", iar pe randul de dedesubt, numit Or, scrii "Feronerie".
O varianta echivalenta, mai scurta, pe un singur rand: "Lemn" Or "Feronerie" scris direct in celula Criteria a coloanei Categorie.
Cerinta: "materiale din Lemn cu stoc sub 10, SAU orice material din Feronerie indiferent de stoc". In grila: randul 1 (Criteria) → Categorie: "Lemn", Cantitate: <10. Randul 2 (Or) → Categorie: "Feronerie", Cantitate: gol (fara conditie pe randul asta). Pe exemplul din Atomul 3 plus Balama (Feronerie, 6 buc): rezultatul contine Sipca brad, Sipca stejar SI Balama — Balama intra pentru ca e Feronerie, indiferent de stoc.
Sortarea rezultatelor
Vrei materialele cu stocul cel mai mic afisat primul (ca sa vezi rapid ce trebuie comandat): pe coloana Cantitate, randul Sort → Ascending.
Vrei materialele grupate pe categorie (alfabetic), si in interiorul fiecarei categorii, cele cu stoc mai mic primele: pui Sort Ascending pe coloana Categorie SI Sort Ascending pe coloana Cantitate. Access sorteaza intai dupa prima coloana cu Sort setat, numarand de la stanga la dreapta in grila, apoi dupa a doua. Daca vrei ca sortarea principala sa fie dupa Cantitate, coloana Cantitate trebuie sa fie la stanga coloanei Categorie in grila.
Multi incepatori pun Sort pe o coloana pe care au debifat Show (nu apare in rezultat). Se poate — sortarea functioneaza chiar daca acea coloana nu e afisata — dar rezultatul poate parea "sortat aiurea" cuiva care nu stie dupa ce coloana ascunsa s-a facut sortarea. Regula buna: daca sortezi dupa o coloana, e util sa o lasi si vizibila, ca sa poti verifica vizual ca sortarea e corecta.
Filtrare rapida, fara sa construiesti o interogare
Deschizi tabelul Materiale in Datasheet View. Dai clic intr-o celula care are valoarea "Lemn" pe coloana Categorie. Din panglica Home apesi Selection (in grupul Sort & Filter) → alegi Equals "Lemn". Access afiseaza instant doar randurile cu Categorie = Lemn. Pentru a reveni la toate randurile: Toggle Filter.
Din panglica Home → Advanced → Filter By Form. Se deschide o versiune goala a tabelului, in care completezi criteriile direct in casute (la fel ca in grila Criteria a unei interogari — poti scrie <10 sub Cantitate). Apesi Toggle Filter ca sa aplici.
Filtru — pentru o cautare de moment, pe care nu ai nevoie sa o refolosesti maine. Interogare salvata — pentru o cerere pe care o refolosesti des (de exemplu "Materiale sub stoc minim", verificata saptamanal) sau pe care vrei sa o folosesti mai departe ca sursa pentru un formular sau un raport.
O interogare peste doua tabele legate
1. Create → Query Design → in fereastra Show Table (sau panoul Add Tables, in versiunile mai noi — vezi Atomul 1) adaugi ambele tabele: Comenzi si Clienti.
2. Daca relatia dintre ele a fost definita deja in Database Tools → Relationships, apare automat o linie subtire care uneste CodClient din Comenzi cu CodClient din Clienti. Daca nu apare, o tragi manual: clic pe CodClient din casuta Comenzi si tragi pana pe CodClient din casuta Clienti.
3. Adaugi in grila: NumarComanda si DataComanda din Comenzi, NumeClient din Clienti.
4. Run — rezultatul arata, pentru fiecare comanda, si numele clientului, desi numele nu e stocat in tabelul Comenzi.
Tabelul Comenzi: (Comanda 101, CodClient C7, Data 03.03.2026), (Comanda 102, CodClient C4, Data 05.03.2026). Tabelul Clienti: (C7, Popescu Tamplarie SRL), (C4, Ionescu Feronerie SRL). Interogarea peste ambele, cu criteriu DataComanda > #01.03.2026# si sortare Ascending pe DataComanda, afiseaza doua randuri: Comanda 101 / 03.03.2026 / Popescu Tamplarie SRL, apoi Comanda 102 / 05.03.2026 / Ionescu Feronerie SRL — desi numele clientului nu exista fizic in tabelul Comenzi, el apare in rezultat gratie relatiei.
Daca adaugi doua tabele in Query Design si NU exista nicio linie de relatie intre ele (nici automata, nici trasata manual), Access face un produs cartezian: combina fiecare rand din primul tabel cu FIECARE rand din al doilea. Semnul ca s-a intamplat asta: numarul de randuri din rezultat e mult mai mare decat te astepti (de exemplu 3 comenzi x 50 de clienti = 150 de randuri, in loc de 3). Solutia: verifici in fereastra de proiectare daca exista linia subtire de legatura intre cele doua casute de tabel; daca lipseste, o tragi manual intre campurile comune.
Recapitulare si conexiuni
Query Design → adaugi tabelul (tabelele)
↓
Grila de proiectare → alegi coloanele (Field), le arati sau nu (Show)
↓
Criteria — text intre ghilimele, numere fara ghilimele, date intre # #
↓
Acelasi rand = SI · Randuri diferite (Or) = SAU
↓
Sort — Ascending / Descending, pe una sau mai multe coloane
↓
Run — vezi rezultatul; Ctrl+S — salvezi interogarea ca obiect reutilizabil
O interogare buna, cu criteriile si sortarea corecte, este exact ce ai nevoie pentru pasul urmator: un raport tiparibil, curat, gata de pus pe biroul sefului sau trimis clientului. In lectia urmatoare veti lua o interogare ca aceasta si veti construi din ea un raport formatat, cu totaluri, pe care il si veti integra intr-o mica aplicatie completa.
Query Design → Show Table / Add Tables (dupa versiune) → alegi tabelul(ele).
Grila: Field, Table, Sort, Show, Criteria.
Text: "valoare" · Numar: <10, Between x And y · Data: #zz.ll.aaaa#
SI = acelasi rand Criteria · SAU = randuri Criteria/Or diferite
Sort: Ascending/Descending, ordinea coloanelor in grila conteaza
Filter by Selection / Filter by Form = rapid, temporar, fara obiect salvat
Doua tabele = linie de relatie pe campul comun, altfel produs cartezian