Documente Academic
Documente Profesional
Documente Cultură
Cnd dorii s limitai rezultatele unei interogri pe baza valorilor dintr-un cmp, utiliza i criterii
de interogare. Un criteriu de interogare este o expresie pe care Access o compar cu valorile din
cmpurile de interogare pentru a determina dac va include nregistrarea care con ine fiecare
valoare. De exemplu, = "Braov" este o expresie pe care Access o poate compara cu valorile
dintr-un cmp text ntr-o interogare. Dac valoarea pentru acel cmp ntr-o anumit nregistrare
este "Braov", Access include nregistrarea n rezultatele interogrii.
Acest articol listeaz cteva exemple de criterii de interogare. Articolul presupune c suntei
familiarizat cu proiectarea interogrilor de selectare simple.
Pentru a afla mai multe despre crearea interogrilor de selectare, consulta i articolul Selectarea
datelor utiliznd o interogare.
n acest articol
Introducere n criteriile de interogare
Criterii pentru cmpurile Text, Memo i Hyperlink
Criterii pentru cmpurile Numr, Moned i Numerotare automat
Criterii pentru cmpurile Dat/or
Criterii pentru alte cmpuri
Introducere n criteriile de interogare
Criteriul este similar cu o formul: este un ir care poate consta n referin e de cmp, operatori i
constante. Criteriile de interogare mai sunt denumite i expresii n Microsoft Office Access 2007.
Tabelele de mai jos afieaz cteva exemple de criterii i explic modul n care acestea
funcioneaz.
Criterii
Descriere
>25 i <50
Criterii
Descriere
DateDiff
("yyyy", Acest criteriu se aplic la un cmp Dat/or, cum ar fi
[DataNaterii], Date()) > DataNaterii. n rezultatul interogrii sunt incluse doar
30
nregistrrile n care numrul de ani ntre data naterii unei
persoane i data de astzi este mai mare dect 30.
Is Null
Dup cum putei vedea, criteriile pot fi foarte diferite unele de altele, n funcie de tipul de date al
cmpului la care se aplic i de cerinele dvs. specifice. Unele criterii sunt simple i utilizeaz
operatori i constante de baz. Altele sunt complexe i utilizeaz funcii, operatori speciali i
conin referine de cmp.
Acest articol listeaz cteva criterii utilizate frecvent, dup tipul de date. Dac exemplele oferite
n acest articol nu rspund cerinelor dvs. specifice, v putei crea propriile criterii. Pentru a face
acest lucru, trebuie mai nti s v familiarizai cu lista complet de func ii, operatori, caractere
speciale i cu sintaxa pentru expresii referitoare la cmpuri i litere. Pentru mai multe informa ii,
consultai articolele listate n seciunea Consultai i.
Aici vei vedea unde i cum putei aduga criteriile. Pentru a aduga un criteriu la o interogare,
trebuie s deschidei interogarea n Vizualizarea proiect. Apoi putei s identificai cmpurile
pentru care dorii s specificai criterii. n cazul n care cmpul nu se afl deja n grila de proiect,
l putei aduga glisndu-l din fereastra de proiectare a interogrii n grila de cmpuri sau fcnd
dublu clic pe cmp (Dac facei dublu clic pe cmp, acesta va fi adugat automat la urmtoarea
coloan goal din grila de cmpuri.). n sfrit, tastai criteriile n rndul Criterii.
Criteriile pe care le specificai pentru cmpuri diferite n rndul Criterii sunt combinate utiliznd
operatorul AND. Cu alte cuvinte, criteriile specificate n cmpurile Localitate i DataNa terii
sunt interpretate astfel:
City = "Braov" AND BirthDate < DateAdd (" yyyy ", -40, Date())
n cazul n care criteriile sunt temporare sau se modific des, putei filtra rezultatul
interogrii n loc s modificai frecvent criteriile de interogare. Un filtru este un criteriu temporar
care modific rezultatul interogrii fr a modifica proiectarea interogrii. Pentru mai multe
informaii despre filtre, consultai articolul Filtrarea: Restrngerea numrului de nregistrri dintr-o
vizualizare.
Urmtoarele exemple sunt pentru cmpul arRegiune dintr-o interogare bazat pe un tabel care
stocheaz informaii despre persoanele de contact. Criteriul este specificat n rndul Criterii al
cmpului din grila de proiect.
Un criteriu pe care l specificai pentru un cmp Hyperlink este, n mod implicit, aplicat la
poriunea de text afiat pentru valoarea cmpului. Pentru a specifica criteriile pentru por iunea cu
adresa URL de destinaie a valorii, utilizai expresiaHyperlinkPart. Sintaxa pentru aceast
expresie
este
dup
cum
urmeaz: HyperlinkPart([Table1].[Field1],1)
=
"http://www.microsoft.com/", unde Table1 este numele tabelului care conine cmpul
hyperlink, Field1 este cmpul hyperlink i http://www.microsoft.com este adresa URL pe care
dorii s o potrivii.
Pentru A Include
nregistrrile
Care...
Rezultatul Interogrii
cmpul
Pentru A Include
nregistrrile
Care...
ncep
cu
irul Like S*
specificat, cum ar fi
S
Rezultatul Interogrii
Conine
irul Like "*Coreea*"
specificat, cum ar fi
Coreea
Returneaz nregistrrile
rile/regiunile care nu
Coreea.
pentru
conin
toate
irul
Pentru A Include
nregistrrile
Care...
Rezultatul Interogrii
Urmeaz
unei >= "Mexic"
valori, cum ar fi
Mexic, cnd se
sorteaz n ordine
alfabetic
Pentru A Include
nregistrrile
Care...
Rezultatul Interogrii
Returneaz
nregistrrile
pentru
rile/regiunile ale cror nume ncep cu
literele A pn la D.
toate
Conin
anumite Right([arRegiune], 1) Returneaz nregistrrile pentru toate
caractere
ntr-o = "a"
rile/regiunile unde ultima liter este a.
anumit poziie n
valorile cmpului
Pentru A Include
nregistrrile
Care...
Rezultatul Interogrii
metacaracterul *.
Putei
utiliza
metacaracterul _ ntr-o expresie care conine
metacaracterul %.
Pentru A Include
nregistrrile Care...
Utilizai
Acest
Crit Eriu
Rezultatul Interogrii
preul
unitar
al
preul
unitar
al
Conin o valoare care >49,99 i Returneaz nregistrrile unde preul unitar este ntre
se ncadreaz ntr-un <99,99
(dar nu inclusiv) 49,99 i 99,99 lei.
interval de valori
-sauBetween
50 and 100
Pentru A Include
nregistrrile Care...
Utilizai
Acest
Crit Eriu
Rezultatul Interogrii
Is Not Null
Pentru A
Include
nregistrril
e Care...
Rezultatul Interogrii
Se potrivesc #2/2/2006#
exact cu o
valoare,
cum ar fi
2/2/2006
Returneaz nregistrrile
tranzaciilor care au avut
loc pe 2 februarie 2006.
Nu uitai s ncadrai
valorile dat cu caracterul
#, astfel nct Access s
poat face distincia ntre
valorile dat i irurile
text.
Nu
se Not #2/2/2006#
potrivesc cu
Returneaz nregistrrile
tranzaciilor care au avut
Pentru A
Include
nregistrril
e Care...
Rezultatul Interogrii
o valoare,
cum ar fi
2/2/2006
Conin
< #2/2/2006#
valori
de
dinaintea
unei
anumite
date, cum ar
fi
2
februarie
2006
Returneaz nregistrrile
tranzaciilor care au avut
loc nainte de 2 februarie
2006.
Conin
> #2/2/2006#
valori aflate
dup
o
anumit
dat, cum ar
fi 2/2/2006
Returneaz nregistrrile
tranzaciilor care au avut
loc dup 2 februarie
2006.
Conin
>#2/2/2006# i <#2/4/2006#
valori care
se
ncadreaz
ntr-un
interval de
Returneaz nregistrrile
unde tranzaciile au avut
loc ntre 2 februarie 2006
i 4 februarie 2006.
Pentru
a
vizualiza
tranzaciile care au avut
loc la sau nainte de
aceast dat, utilizai
operatorul <= n
locul
operatorului <.
Pentru
a
vizualiza
tranzaciile care au avut
loc la sau dup aceast
dat,
utilizai
operatorul >= n
locul
operatorului >.
Pentru A
Include
nregistrril
e Care...
Rezultatul Interogrii
date
De asemenea, putei
utiliza
operatorul Between pentr
u a filtra dup un interval
de
valori,
inclusiv
punctele de sfrit. De
exemplu,
Between
#2/2/2006# i #4/2/2006#
este acelai lucru cu
>=#2/2/2006#
i
<=#4/2/2006#.
Conin
<#2/2/2006# sau >#2/4/2006#
valori aflate
n
afara
unui
interval
Returneaz nregistrrile
unde tranzaciile au avut
loc nainte de 2 februarie
2006
sau
dup
4
februarie 2006.
Returneaz nregistrrile
tranzaciilor care au avut
loc pe 2 februarie 2006
sau pe 3 februarie 2006.
Returneaz nregistrrile
unde tranzaciile au avut
loc pe 1 februarie 2006, 1
martie 2006 sau 1 aprilie
2006.
Conin
Returneaz nregistrrile
o DatePart("m"; [DateVnzri]) = 12
Pentru A
Include
nregistrril
e Care...
Rezultatul Interogrii
dat care se
ncadreaz
ntr-o
anumit
lun
(indiferent
de an), cum
ar
fi
decembrie
Conin
o DatePart("q"; [DateVnzri]) = 1
dat care se
ncadreaz
ntr-un
anumit
trimestru
(indiferent
de an), cum
ar
fi
trimestrul
nti
Returneaz nregistrrile
unde tranzaciile au avut
loc n trimestrul nti al
oricrui an.
Returneaz nregistrrile
tranzaciilor care au avut
loc n ziua curent. Dac
data de astzi este 2
februarie
2006,
vei
vedea nregistrrile unde
cmpul
DatComand
este setat la 2 februarie
2006.
Returneaz nregistrrile
tranzaciilor care au avut
Pentru A
Include
nregistrril
e Care...
Rezultatul Interogrii
Returneaz nregistrrile
tranzaciilor care vor
avea loc n ziua ulterioar
zilei curente. Dac data
de astzi este 2 februarie
2006,
vei
vedea
nregistrrile pentru 3
februarie 2006.
Returneaz nregistrrile
tranzaciilor care au avut
loc n sptmna curent.
Sptmna
ncepe
duminic i se termin
smbt.
Returneaz nregistrrile
tranzaciilor care au avut
loc sptmna trecut.
Sptmna
ncepe
duminic i se termin
smbt.
Pentru A
Include
nregistrril
e Care...
Rezultatul Interogrii
n
sptmna
urmtoare
viitoare.
Sptmna
ncepe duminic i se
termin smbt.
Conin
o Between Date() and Date()-6
dat care se
ncadreaz
n ultimele
7 zile
Returneaz nregistrrile
tranzaciilor care au avut
loc n ultimele 7 zile.
Dac data de astzi este 2
februarie
2006,
vei
vedea
nregistrrile
pentru
perioada
24
ianuarie 2006 - 2
februarie 2006.
Conin
o Year([DatVnzri])
=
Year(Now())
dat care se Month([DatVnzri]) = Month(Now())
ncadreaz
n
luna
curent
Conin
o Year([DatVnzri])*
12
+
DatePart("m";
dat care se [DatVnzri]) = Year(Date())* 12 + DatePart("m";
ncadreaz
Date()) - 1
n
luna
precedent
Returneaz nregistrrile
pentru luna precedent.
Dac data de astzi este 2
februarie
2006,
vei
vedea
nregistrrile
pentru ianuarie 2006.
Conin
o Year([DatVnzri])*
12
+
DatePart("m";
dat care se [DatVnzri]) = Year(Date())* 12 + DatePart("m";
ncadreaz
Date()) + 1
n
luna
urmtoare
Returneaz nregistrrile
pentru luna viitoare.
Dac data de astzi este 2
februarie
2006,
vei
vedea
nregistrrile
Pentru A
Include
nregistrril
e Care...
Rezultatul Interogrii
Conin
o Between Date() And DateAdd("M", -1, Date())
dat care se
ncadreaz
n ultimele
30 sau 31
de zile
nregistrrile vnzrilor
dintr-o lun. Dac data de
astzi este 2 februarie
2006,
vei
vedea
nregistrrile
pentru
perioada 2 ianuarie 2006
- 2 februarie 2006
Conin
o Year([DatVnzri])
=
Year(Now())
And Returneaz nregistrrile
dat care se DatePart("q"; Date()) = DatePart("q"; Now())
pentru trimestrul curent.
ncadreaz
Dac data de astzi este 2
n trimestrul
februarie
2006,
vei
curent
vedea
nregistrrile
pentru primul trimestru
din 2006.
Conin
o Year([DatVnzri])*4+DatePart("q";
dat care se [DatVnzri])
ncadreaz
Year(Date())*4+DatePart("q";Date())- 1
n trimestrul
precedent
Returneaz nregistrrile
= pentru
trimestrul
precedent. Dac data de
astzi este 2 februarie
2006,
vei
vedea
nregistrrile
pentru
ultimul trimestru din
2005.
Conin
o Year([DatVnzri])*4+DatePart("q";
dat care se [DatVnzri])
ncadreaz
Year(Date())*4+DatePart("q";Date())+1
n trimestrul
urmtor
Returneaz nregistrrile
= pentru trimestrul urmtor.
Dac data de astzi este 2
februarie
2006,
vei
vedea
nregistrrile
pentru trimestrul doi din
Pentru A
Include
nregistrril
e Care...
Rezultatul Interogrii
2006.
Conin
o Year([DatVnzri]) = Year(Date())
dat care se
ncadreaz
n
anul
curent
Returneaz nregistrrile
pentru anul curent. Dac
data de astzi este 2
februarie
2006,
vei
vedea
nregistrrile
pentru anul 2006.
Conin
o Year([DatVnzri]) = Year(Date()) - 1
dat care se
ncadreaz
n
anul
precedent
Returneaz nregistrrile
tranzaciilor care au avut
loc anul trecut. Dac data
de astzi este 2 februarie
2006,
vei
vedea
nregistrrile pentru anul
2005.
Conin
o Year([DatVnzri]) = Year(Date()) + 1
dat care se
ncadreaz
n
anul
urmtor
Returneaz nregistrrile
tranzaciilor cu data n
anul urmtor. Dac data
de astzi este 2 februarie
2006,
vei
vedea
nregistrrile pentru anul
2007.
Conin
o Year([DatVnzri])
=
Year(Date())
dat care se Month([DatVnzri]) <= Month(Date())
ncadreaz
Day([DatVnzri]) <= Day (Date())
ntre
1
ianuarie i
ziua
de
astzi
(nregistrri
Pentru A
Include
nregistrril
e Care...
Rezultatul Interogrii
din
anul
curent)
- 2 februarie 2006.
Conin
dat
trecut
o < Date()
din
Returneaz nregistrrile
tranzaciilor care au avut
loc naintea zilei de azi.
Conin
dat
viitor
o > Date()
din
Returneaz nregistrrile
tranzaciilor care vor
avea loc dup ziua de azi.
Filtreaz
Is Null
pentru
valori nule
(sau
care
lipsesc)
Returneaz nregistrrile
unde
lipsete
data
tranzaciei.
Filtreaz
pentru
valori
nenule
Returneaz nregistrrile
unde data tranzaciei este
necunoscut.
Is Not Null
Cmpurile de cutare Exist dou tipuri de cmpuri de cutare: cele care caut valori ntr-o
surs de date existent (utiliznd o cheie strin) i cele care se bazeaz pe o list de valori
specificate la crearea cmpului de cutare.
Cmpurile de cutare care se bazeaz pe o list de valori specificate sunt de tipul de date Text, iar
criteriile valide sunt aceleai ca cele pentru alte cmpuri text.
Criteriile pe care le putei utiliza ntr-un cmp de cutare bazat pe valorile dintr-o surs de date
existent depind de tipul de date al cheii strine, mai degrab dect de tipul de date al datelor
cutate. De exemplu, putei avea un cmp de cutare care afieaz numele angajatului, dar
utilizeaz o cheie strin de tipul de date Numr. Deoarece cmpul stocheaz un numr n loc de
text, utilizai criteriile potrivite pentru numere; mai exact, >2.
Dac nu cunoatei tipul de date al cheii strine, pute i inspecta tabelul surs n Vizualizarea
proiect pentru a determina tipurile de date ale cmpului. Pentru aceasta:
1.
2.
Tipul de date pentru fiecare cmp este listat n coloana Tip de date din grila de proiect a
tabelului.
Cmpurile multi-valoare Datele dintr-un cmp multi-valoare sunt stocate sub form de
rnduri ntr-un tabel ascuns pe care Office Access 2007 l creeaz i l completeaz pentru a
reprezenta cmpul. n Vizualizarea proiect a interogrii, acesta este reprezentat n Lista de
cmpuri utiliznd un cmp extensibil. Pentru a utiliza criterii pentru un cmp multi-valoare,
furnizai criterii pentru un singur rnd al tabelului ascuns. Pentru aceasta:
1.
2.
Extindei cmpul multi-valoare fcnd clic pe semnul plus (+) de lng acesta; n cazul n
care cmpul este deja extins, lng acesta apare simbolul minus (-). Chiar sub numele cmpului,
vei vedea un cmp care reprezint o singur valoare din cmpul multi-valoare. Acest cmp va
avea acelai nume ca i cmpul multi-valoare, cu irul .Valoare adugat.
3.
Glisai cmpul multi-valoare i cmpul cu valoare unic pentru a separa coloanele din
grila de proiect. Dac dorii s vedei doar cmpul multi-valoare complet n rezultate, debifa i
caseta de selectare Afiare pentru cmpul cu valoare unic.
4.
Tastai criteriile dvs. n rndul Criterii pentru cmpul cu valoare unic, folosind criteriile
potrivite pentru tipul de date reprezentat de valori.
5.