Sunteți pe pagina 1din 12

CAP. IX FILTRAREA NREGISTRRILOR 9.

1 INTRODUCERE
Un filtru modific datele pe care le afieaz un tabel, formular sau un raport ntr-o vizualizare, fr a modifica proiectarea tabelului, raportului sau formularului. Cnd aplicai filtrul, sunt incluse n vizualizare numai nregistrrile care conin valorile care v intereseaz. Restul sunt ascunse pn cnd eliminai filtrul. Coloanele sau controalele care sunt legate la expresii nu accept filtrarea. Disponibilitatea comenzilor de filtrare depinde de tipul i de valorile din cmp. Pictogramele din antetul coloanei Secie i bara de navigare n nregistrri indic faptul c vizualizarea curent este filtrat dup coloana Sectie (Figura 9.1). Dac staionai cu indicatorul mouse-ului la dreapta titlului coloanei (pe pictogram), se va afia criteriul curent de filtrare (Figura 9. 1)

Figura 9. 1 Dei nu se poate activa dect un singur filtru n acelai timp pentru un cmp, avei posibilitatea s specificai un alt filtru pentru fiecare cmp prezent n vizualizare. Avei posibilitatea s lucrai cu rezultatele filtrrii n acelai mod n care lucrai n vizualizarea iniial de exemplu, editai date i navigai la alte nregistrri. Avei posibilitatea s inversai vizualizarea la modul nefiltrat eliminnd filtrele. Eliminarea unui filtru elimin temporar filtrul din vizualizare, astfel nct s avei posibilitatea s comutai napoi la vizualizarea original, nefiltrat. De asemenea, un filtru poate fi eliminat dintr-o vizualizare debifnd filtrul. Setrile filtrelor vor fi n efect pn cnd nchidei obiectul, chiar i n cazul n care comutai la vizualizarea altui obiect. Cu alte cuvinte, dac filtrai un formular n Datasheet View, setrile de filtrare vor fi n continuare aplicate cnd comutai la Form View sau Layout View, i vor rmne n efect pn nchidei formularul. Setarea proprietii Filter On Load (Filtrare la ncrcare) a obiectului determin dac setrile de filtrare vor fi n efect sau nu la urmtoarea deschidere a obiectului. Dac setai proprietatea Filter On Load a unui tabel, interogare, formular sau raport la Yes, setrile de filtrare care au fost aplicate ultima oar se vor aplica cnd deschidei din nou obiectul.

9.2 TIPURI DE FILTRE


9.2.1 FILTRE OBINUITE Mai multe filtre sunt disponibile sub form de comenzi de meniu contextual, astfel nct s nu trebuiasc s consumai timp construind criteriile corecte de filtrare. Pentru a

accesa aceste comenzi, facei clic cu butonul din dreapta pe cmpul dup care dorii s filtrai. Cu excepia cmpurilor Obiect OLE i cmpurilor care afieaz valori calculate, toate tipurile de cmpuri ofer filtre comune. Lista de filtre disponibile depinde de tipul de date selectat pentru cmp i de valorile sale. Un clic pe sgeata mic de lng numele unui cmp ne arat detaliile pentru filtrare. Cel mai adesea ordonarea, cresctoare sau descresctoare, ne poate ajuta s gsim mai rapid un nume dar aceasta nu este filtrare. Access 2007 creaz automat o list a valorilor unice. Alegnd din meniu opiunea Number Filters, apoi Between, filtrai codurile seciilor cuprinse ntr-un anumit interval.

Figura 9. 2 Dac cmpul este de tip Text, n meniu apare opiunea Text Filters. Alegnd aceast opiune, apoi Begins With, putei filtra textele care ncep cu anumite caractere etc. (Figura 9. 3).

Figura 9. 3 i filtrul pentru date este foarte puternic. Putei filtra datele ce sunt din sptmna viitoare, luna trecut, trimestrul actual, din trecut, din viitor etc. (Figura 9. 4). Ceea ce n versiunile anterioare de MS Access se fcea eventual din interogri, aici se face foarte rapid din puternicele filtre. Cnd o vizualizare este filtrat, lista de valori pentru fiecare cmp afieaz numai valorile unice care sunt vizibile n vizualizare. De exemplu, n Figura 9. 2 codul de secie 10 apare o singur dat, dei exist mai multe mijloace fixe n aceeai secie. Pentru a vedea mai multe valori n lista de valori, eliminai parial sau total filtrele din vizualizare.

Figura 9. 4 Aplicarea unui filtru obinuit 1. Deschidei un tabel, interogare, formular sau raport n oricare dintre urmtoarele vizualizri: Foaie de date, Formular, Raport sau Aspect. 2. Asigurai-v c vizualizarea nu este deja filtrat. n bara de selectare de nregistrri, verificai c se afl pictograma estompat No Filter (Fr filtre). 3. Facei clic pe oriunde n coloana sau controlul care corespunde primului cmp pe care dorii s-l filtrai. 4. n fila Home, n grupul Sort & Filter, facei clic pe Filter (Filtrare). 5. Efectuai una din urmtoarele aciuni: o Pentru a aplica un filtru obinuit, indicai ctre Text Filters (Filtre Text), Number Filters (Filtre Numr) sau Date Filters (Filtre Dat), apoi facei clic pe

filtrul dorit. Filtre cum ar fi Equals (Egal cu) i Between (ntre) solicit introducerea valorilor necesare. Anumite caractere, cum ar fi *, % i ?, au o semnificaie special atunci cnd sunt specificate ntr-o caset text de filtrare. De exemplu, * reprezint un ir de caractere, astfel c irul a* va returna orice ir care ncepe cu a, nu doar cu irul literal a*. Pentru a nu ine cont de semnificaia special a unui caracter, ncadrai-l n paranteze drepte [], astfel: a[*]. o Pentru a aplica un filtru pe baza valorilor de cmp, debifai caseta de selectare de lng valorile dup care nu dorii s filtrai, apoi facei clic pe OK. Dac avei o list mare de valori i nu dorii s filtrai n funcie de una sau cteva dintre acestea, debifai mai nti caseta de selectare Select All (Selectare total), apoi selectai valorile dorite. o Pentru a filtra n funcie de valorile nule (o valoare nul indic absena datelor) n cmpuri de tip text, numr i dat, debifai caseta de selectare Select All n lista de casete de selectare, apoi bifai caseta de selectare de lng Blanks (Necompletate). 6. Repetai cei trei pai de mai sus pentru fiecare cmp pe care dorii s-l filtrai. 9.2.2 FILTRE PE BAZ DE SELECIE Dac valoarea pe care dorii s o utilizai ca baz pentru filtrare este selectat n mod curent, avei posibilitatea s filtrai rapid vizualizarea fcnd clic pe una din comenzile Selection (Selecie). Comenzile Selection disponibile variaz n funcie de tipul de date al valorii selectate. Aceste comenzi mai pot fi accesate fcnd clic cu butonul din dreapta pe o valoare din cmp. Exemplu Dac valoarea 15.02.1945 este selectat n mod curent n cmpul dif, lista de comenzi include automat valoarea curent, astfel c nu este necesar s o tastai (Figura 9. 5).

Figura 9. 5

Lista de comenzi depinde de asemenea de poriunea selectat din valoare. De exemplu, dac selectai numai unele caractere din valoare, vedei o alt list de comenzi, n funcie de partea cmpului pe care ai selectat-o.

Figura 9. 6 Aplicarea unui filtru pe baza unei selecii 1. Deschidei un tabel, interogare, formular sau raport n oricare dintre urmtoarele vizualizri: Foaie de date, Formular, Raport sau Aspect. 2. Asigurai-v c vizualizarea nu este deja filtrat. n bara de selectare de nregistrri, verificai c se afl pictograma estompat No Filter. 3. Trecei la nregistrarea care conine valoarea pe care dorii s o utilizai ca parte a filtrului, apoi facei clic n interiorul coloanei (n vizualizarea Foaie de date) sau a controlului (n vizualizarea Formular, Raport sau Aspect). Pentru a filtra pe baza unei selecii pariale, selectai caracterele pe care le dorii. 4. n fila Home, n grupul Sort & Filter, facei clic pe Selection, apoi pe filtrul pe care l aplicai. 5. Pentru a filtra alte cmpuri pe baza unei selecii, repetai cei doi pai de mai sus. 9.2.3 FILTRE DUP FORMULAR Aceast tehnic este util cnd dorii s filtrai dup mai multe cmpuri ntr-un formular sau ntr-o foaie de date sau cnd dorii s gsii o anumit nregistrare. Access creeaz un formular necompletat sau o foaie de date similar cu formularul sau foaia de date originale, apoi permite completarea orictor cmpuri dorii. Cnd ai terminat, Access gsete nregistrrile care conin valorile specificate. Aplicarea unui filtru prin completarea unui formular 1. Deschidei tabelul sau interogarea n Datasheet View (vizualizarea Foaie de date) sau deschidei un formular n Form View (vizualizarea Formular). 2. Asigurai-v c vizualizarea nu este deja filtrat. n bara de selectare de nregistrri, verificai c se afl pictograma estompat No Filter.

3. n fila Home, n grupul Sort & Filter, facei clic pe Advanced (Complex), apoi pe Filter By Form (Filtrare dup formular) din meniul de comenzi rapide. 4. n funcie de vizualizarea n care lucrai, Datasheet sau Form, efectuai urmtoarele aciuni: o n Datasheet View, facei clic pe primul rnd n coloana dup care dorii s filtrai. Facei clic pe sgeile care apar, apoi selectai o dat. Avei posibilitatea s adugai alte valori suplimentare pentru un cmp dac facei clic pe fila Or (Sau) n partea de jos a foii de date, apoi selectai alt valoare. o n Form View, facei clic pe sgeata care apare n control, apoi selectai o valoare dup care s filtrai. Avei posibilitatea s adugai valori suplimentare dac facei clic fila Or n partea de jos a formularului i selectai alt valoare. Facei clic pe fila Or pentru a aduga i mai multe valori. Dac vedei numai valorile Is Null i Is Not Null afiate atunci cnd facei clic pe sgeata vertical pentru un cmp sau dac nu exist sgeat vertical, efectuai urmtoarele pentru a afia valorile efective ale cmpului: o Verificai faptul c tipul de date al cmpului nu este Memo, Hyperlink, Da/Nu, sau Obiect OLE. Cmpurile cu aceste tipuri de date nu pot afia valori de cmp n fila obiect Filter By Form. o Dac numrul de nregistrri citite este mai mare dect numrul specificat n caseta Dont display lists where more than this number of records read (Max. implicit de nregistrri) din seciunea Filter lookup options for Database (Opiuni cutare filtrat pentru baza de date) din caseta de dialog Access Options (Opiuni Access), Access nu afieaz valori pentru acel cmp n list. Pentru a deschide caseta de dialog Access Options, facei clic pe Office Button , apoi pe Access Options. Facei clic pe Current Database, apoi modificai setarea Max. implicit de nregistrri pentru a rezolva aceast problem. n caseta de dialog Access Options, facei clic pe Current Database. n seciunea Filter lookup options for Database, bifai casetele de selectare Local indexed fields (Cmpuri locale indexate) i Local nonindexed fields (Cmpuri locale neindexate). Comutai napoi la vizualizarea Foaie de date sau Formular.

Pentru a filtra pe baza strii unui control, cum ar fi o caset de selectare sau buton, facei clic pe control astfel nct s fie n starea pe care o dorii. Pentru a readuce controlul la o poziie neutr, astfel nct s nu fie utilizat pe post de criteriu pentru filtrarea nregistrrilor, asigurai-v c este indisponibil (apare estompat). Pentru a filtra pentru nregistrrile care au valori nule (lips), nenule, necompletate (goale sau ""), sau valori completate, tastai Is Null, Is Not Null, "" sau Not "" n cmp. 5. Uneori, este posibil s dorii s specificai dou seturi alternative de criterii. De exemplu, poate dorii s vedei numai mijloacele fixe de la Sectie=10 i dnf=2 sau Sectie=20 i dnf=3 (Sectie i dnf reprezint numele cmpurilor).

Introducei primul set de criterii, apoi facei clic pe fila Or i introducei urmtorul set de criterii. Reinei c, dac dorii ca o valoare de cmp s opereze ca filtru n mod independent de alte valori de cmp, trebuie s introducei acea valoare n cmpul Look for (De cutat) i fiecare fil Or. Cu alte cuvinte, fila Look for i fiecare fil Or reprezint un set alternativ de valori de filtrare. De fiecare dat cnd adugai un criteriu de cmp la fila Or, Access creeaz alt fil Or. Astfel, vi se permite s specificai mai multe criterii "sau". Filtrul returneaz orice nregistrare care conine toate valorile specificate n fila Look for, toate valorile specificate n prima fil Or, toate valorile specificate n a doua fil Or, etc. 6. Aplicai filtrul, prin clic pe Toggle Filter 7. Pentru a elimina filtrul i a afia toate nregistrrile, facei clic din nou pe Toggle Filters. 8. Pentru a modifica filtrul, facei clic pe Filter By Form din nou. Se afieaz setul curent de criterii de filtrare. Exemple 1. Gsii toate nregistrrile n care cmpul Sectie=10 sau cmpul dnf=4. Rezolvare - selectai n cmpul Secie pe 10, facei clic pe fila Or, facei clic n cmpul dnf i selectai 4; - aplicai filtrul prin clic pe Toggle Filters. Vor apare toate mijloacele fixe de la secia 10 (cu dnf oarecare) i toate care au dnf =4 (i sectia oarecare). 2. Gsii toate nregistrrile n care cmpul Sectie=10 i cmpul dnf=4. Rezolvare Procedai ca la exemplul anterior, dar nu mai dai clic pe fila Or. 3. Dorim s vedem toate mijloacele fixe avnd Sectie=10 i dnf=2 sau Sectie=20 i dnf=3. Rezolvare Avem de-a face cu dou seturi alternative de criterii. Procedai astfel: - selectai n cmpul Sectie pe 10 i n cmpul dnf pe 2; - facei clic pe fila Or; - selectai n cmpul Sectie pe 20 i n cmpul dnf pe 3; - aplicai filtrul, prin clic pe Toggle Filter. 9.2.4 FILTRE COMPLEXE Uneori, este posibil s dorii s aplicai un filtru care nu se afl n lista de filtre obinuite. De exemplu, dac dorii s gsii nregistrri care conin date care au avut loc n ultimele apte zile sau n ultimele ase luni, este posibil s fie necesar s scriei dvs. criteriul de filtrare.

Pentru a utiliza aceast caracteristic, este necesar s fii obinuit cu scrierea expresiilor. Expresiile sunt similare cu formulele pe care le scriei n Excel i cu criteriile pe care le specificai cnd proiectai o interogare. Aplicarea unui filtru complex 1. Deschidei un tabel, interogare, formular sau raport n oricare dintre urmtoarele vizualizri: Datasheet, Form, Report sau Layout. 2. Asigurai-v c vizualizarea nu este deja filtrat. n bara de navigare n nregistrri, verificai c No Filter este estompat (dac este disponibil). Dac bara de navigare n nregistrri nu este vizibil, facei clic pe Advanced, n grupul Sort & Filter, n fila Home, apoi facei clic pe Clear All Filters (Golire total filtre) (dac Clear All Filters este estompat, nu este aplicat niciun filtru). 3. n fila Home, n grupul Sort & Filter, facei clic pe Advanced, apoi pe Advanced Filter/Sort (Filtrare/sortare complex) din meniul de comenzi rapide. 4. Adugai cmpurile dup care dorii s efectuai filtrarea la grila de proiectare. 5. Specificai un criteriu de filtrare n rndul Criteria (Criterii) al fiecrui cmp. Criteriile se aplic sub form de set i se afieaz numai nregistrrile care se potrivesc cu toate criteriile din rndul Criteria. Pentru a specifica un set alternativ de criterii pentru un singur cmp, tastai primul criteriu n rndul Criteria, al doilea criteriu n cmpul Or, etc. Not. Tot setul de criterii din rndul Or se aplic sub form de set alternativ la setul de criterii din rndul Criteria. Orice criteriu pe care dorii s-l aplicai pentru ambele seturi trebuie s fie tastat att n rndul Criteria, ct i n rndul Or. 6. Facei clic pe Toggle Filter pentru a vedea rndurile filtrate. O modalitate bun de a nva s scriei criterii este de a aplica un filtru obinuit sau un filtru bazat pe selecie care produce un rezultat apropiat de cel pe care l cutai. Apoi, cu filtrul aplicat vizualizrii, afiai fila obiect Filter (grila de proiectare), astfel: n fila Home, n grupul Sort & Filter, facei clic pe Advanced, apoi pe Advanced Filter/Sort din meniul de comenzi rapide. Revizuii rezultatul, apoi ajustai criteriile afiare n rndul Criteria pentru a produce rezultatul dorit. Cnd facei clic cu butonul din dreapta oriunde deasupra grilei de proiectare, sunt disponibile dou comenzi speciale Load from Query (ncrcare din interogare) i Save As Query (Salvare ca interogare) n meniul de comenzi rapide.

Figura 9. 7

Load from Query ncarc proiectarea unei interogri selectate n gril. Astfel, avei posibilitatea s utilizai criteriile de interogare sub form de criterii de filtrare. Save As Query permite salvarea setrilor de filtrare ca o interogare nou. Comanda Apply Filter/Sort (Se aplic filtrare/sortare) determin vizualizarea nregistrrilor filtrate. Clear Grid (Golire gril) golete filtrele de pe gril, ca i Clear All Filters. Exemple 1. Vizualizai toate nregistrrile n care cmpul Sectie=10 sau cmpul dnf=4. Rezolvare Grila de proiectare arat astfel:

Figura 9. 8 2. Vizualizai toate nregistrrile n care cmpul Sectie=10 i cmpul dnf=4. Rezolvare Grila de proiectare arat astfel:

Figura 9. 9

3. S se vizualizeze: - mijloacele fixe n care cmpul Sectie este egal cu 10 sau 20 i cmpul dnf este diferit de 3 sau - mijloacele fixe n care cmpul Sectie este 40 i cmpul dnf este diferit de 5. Rezolvare - Se introduce primul set de criterii n rndul Criteria. - Se introduce al doilea set de criterii n rndul Or. Grila de proiectare arat astfel:

Figura 9. 10 4. S se vizualizeze toate mijloacele fixe care au cmpul Secie egal cu 10 sau 20. Rezolvare - Se introduce n rndul Criteria pentru cmpul Sectie, valoarea 10. - Facei clic n rndul Or, unde introducei 20. - Aplicai filtrul (cu Toggle Filter). Dac vizualizai grila, ea arat astfel:

Figura 9. 11 dei prima dat s-a pus 20 n rndul Or.

9.3 ELIMINAREA SAU APLICAREA DIN NOU A UNUI FILTRU


Dac dorii s comutai la vizualizarea nefiltrat a datelor, eliminai filtrele. Facei clic pe Filtered (Filtrat) n bara de navigare n nregistrri pentru a reveni la vizualizarea complet. Cnd eliminai filtrele curente, ele sunt eliminate temporar din toate cmpurile din vizualizare. Facei clic pe Unfiltered (Nefiltrat) n bara de navigare n nregistrri pentru a aplica din nou cele mai recente filtre. Mai putei elimina i aplica din nou un filtru prin clic pe Toggle Filters, n grupul Sort & Filter din fila Home.

9.4 GOLIREA SAU SALVAREA UNUI FILTRU


Golii un filtru atunci cnd nu mai avei nevoie de el. Prin golirea unui filtru, acesta este ters din vizualizare i nu mai poate fi aplicat din nou dac se face clic pe Unfiltered n bara de stare. Avei posibilitatea s golii un singur filtru dintr-un singur cmp sau s golii toate filtrele din toate cmpurile din vizualizare. Pentru a goli un filtru dintr-un singur cmp, facei clic pe sgeata din coloana sau controlul filtrate, apoi facei clic pe Clear filter from nume cmp (Figura 9.2). Pentru a goli toate filtrele din toate cmpurile, n fila Home, n grupul Sort & Filter, facei clic pe Advanced, apoi pe Clear All Filters. Setrile de filtrare care sunt n efect la momentul cnd nchidei un tabel, interogare, formular sau raport se salveaz automat mpreun cu obiectul respectiv i sunt disponibile pentru a fi aplicate din nou. Cu toate acestea, n mod implicit, setrile de filtrare nu se aplic automat cnd se deschide din nou obiectul.

S-ar putea să vă placă și