Expresiile Access sunt utilizate pentru validarea datelor, formularea condițiilor de căutare și elaborarea rapoartelor.
O expresie conține cel puțin un operator și un operand și returnează o valoare.
1. Expresii Access
O expresie Access este o declarație care conține cel puțin un operator și un operand. Operandul poate fi o constantă, un identificator sau o funcție.
Expresia returnează o valoare care poate fi utilizată, de exemplu, pentru verificarea datelor, căutarea înregistrărilor sau calcularea unor rezultate.
2. Identificatori Access
Un identificator Access reprezintă numele unui obiect al bazei de date. Printre obiectele Access se numără:
- tabelele;
- câmpurile;
- interogările;
- formularele;
- rapoartele;
- baza de date.
De regulă, identificatorii se scriu între simbolurile [ și ].
Identificatorul unui subobiect poate fi format din numele obiectului și numele subobiectului, delimitate prin punct sau semnul exclamării.
Exemple: [Elevi].[Nume_elev], [Profesori].[Salariu], [Cod_elev]
3. Categorii de operatori Access
În Access sunt utilizate mai multe categorii de operatori pentru efectuarea calculelor, compararea valorilor și formularea condițiilor.
| Categoria | Operatori | Utilizare |
|---|---|---|
| Aritmetici | + - * / \ Mod ^ | Se aplică asupra valorilor numerice. |
| De comparare | < <= = >= > <> | Compară două valori și returnează True sau False. |
| Logici | And, Or, Not, Xor | Se aplică asupra operanzilor logici. |
| Atribuire | = | Atribuie o valoare unui obiect, unei variabile sau unei constante. |
| Concatenare | + | Unește două șiruri de caractere. |
4. Operatori aritmetici
Operatorii aritmetici sunt utilizați pentru efectuarea operațiilor asupra valorilor numerice.
| Operator | Semnificație |
|---|---|
+ | Adunare Exemplu: [Pret] + [Transport] va returna 550 dacă prețul este 500 lei și transportul 50 lei |
- | Scădere Exemplu: [Sold] - [Cheltuieli] calculează suma rămasă |
* | Înmulțire Exemplu: [Pret] * [Cantitate] calculează Valoarea totală = 1000 lei |
/ | Câtul exact Exemplu: [Total] / [NumarPersoane] calculează câtul, dacă totalul este 1200 lei și sunt 4 persoane rezultatul va fi 300 lei persoana Media: ([Pret]+[Reducere])/2 va returna valoarea n=medie dintre două valori |
\ | Cîtul întreg Exemplu: 20 \ 6 calculează partea întreagă de la împărțire , 20 : 6 = 3 rest 2, se va returna valoarea 3 |
Mod | Restul împărțirii Exemplu: 20 Mod 6 calculează restul împărțirii , 20 : 6 = 3 rest 2, se va returna valoarea 2 [Cantitate] Mod 2 = 0 va verifica dacă cantitatea este pară |
^ | Ridicare la putere Exemplu: 5 ^ 2 va returna valoarea 25 |
5. Operatori de comparare
Operatorii de comparare compară valorile a doi operanzi și returnează una dintre valorile logice True sau False.
< <= = >= > <>
6. Operatori logici
| Operator | Utilizare |
|---|---|
And | Combină condiții care trebuie să fie adevărate. Exemplu: [Nota]>=8 And [Nota]<=10 va returna elevii ce au note între 8 și 10. Ambele condiții trebuie să fie adevărate. [Vârsta]>=18 And [Localitate]="Chișinău" va returna persoanele de cel puțin 18 ani și din Chișinău. |
Or | Permite ca cel puțin una dintre condiții să fie adevărată. Exemplu: [Nota]=9 Or [Nota]=10 va returna elevii care au nota 9 sau 10. [Localitate]="Chișinău" Or [Localitate]="Bălți" va returna persoanele din Chișinău sau Bălți. |
Not | Inversează valoarea logică. Exemplu: Not [Localitate]="Chișinău" va returna persoanele care nu sunt din Chișinău. Not [Nota]<5 va returna valorile pentru care condiția [Nota]<5 nu este adevărată. |
Xor | Operator logic exclusiv. Exemplu: [Nota]>=5 Xor [Nota]>=9 Condiția este adevărată atunci când exact una dintre cele două condiții este adevărată. |
7. Alți operatori Access
Is Null - Verifică dacă o valoare este vidă.Like "A*" (valorile care încep cu A)
Like "*a" (valorile care finisează cu a)
Like "A??" (valorile formate din exact 3 caractere, primul fiind A)Like "A#" (valorile formate din două caractere: primul A, al doilea cifră)
Like "C#?" (valori forate din trei caractere : C + cifră + orice caracter)
Like "[AB]*" (valorile care încep cuA sau B)
Like "[CK]#?" (valorile care conțin trei caractere: primul C sau K, al doilea cifră, al treilea orice caracter)
Like "*[0-9]" (valorile care finisează cu o cifră)
Like "*[!0-9]" (valorile care se termină cu orice caracter cu excepția unei cifre)
Like "*[!ae]" (valorile care NU se termină nici cu litera a nici cu litera e)
Like "*[5ad-g]" (valorile care se termină cu cifra 5 sau cu una dintre literele a, d, e, f, g)
In - Verifică dacă o valoare aparține unei liste.
Clasa IN ("10","11","12") (Selectează elevii din clasele 10, 11 sau 12)Between 2 And 10 (valorile între 2 și 10)Această expresie este echivalentă cu: >= 2 And <= 10
8. Expresii în regula de validare
De exemplu, regula: In ("Luni"; "Marti"; "Miercuri"; "Joi"; "Vineri") permite utilizatorului să introducă în câmp doar una dintre valorile indicate.
9. Funcții Access
O funcție returnează o valoare prin numele ei. Access oferă numeroase funcții pentru prelucrarea datelor numerice, textuale și calendaristice.
Funcții pentru prelucrarea datelor calendaristice
| Funcția | Rezultatul returnat |
|---|---|
Date() | Data curentă. Exemplu: Date() returnează data curentă din sistem Between Date() And DateAdd("d";7;Date()) returnează evenimentele programate în următoarele 7 zile |
DateAdd(T; N; D) | Data obținută prin adăugarea sau scăderea unui număr de unități calendaristice. Exemplu: DateAdd("m"; 3; Date()) Adaugă 7 zile la data curentă. DateAdd("m"; 3; Date()) Adaugă 3 luni la data curentă. DateAdd("yyyy"; 1; Date()) Adaugă un an la data curentă. DateAdd("d"; -10; Date()) Scade 10 zile din data curentă. |
DateDiff(T; D1; D2) | Diferența dintre două date, exprimată în unități calendaristice. Exemplu: DateDiff("d"; #01/09/2026#; #27/09/2026#) Calculează numărul de zile dintre cele două date: 26 zile. DateDiff("m"; #01/01/2026#; #01/09/2026#) Calculează diferența în luni: 8 luni. DateDiff("yyyy"; #15/05/2020#; Date()) Calculează diferența în ani dintre data indicată și data curentă. DateDiff("yyyy"; [DataNasterii]; Date()) Calculează diferența în ani dintre data nașterii și data curentă. |
Time() | Ora curentă. Exemplu: Time() Returnează ora curentă, de exemplu 21:30:15. |
Now() | Data și ora curentă. Exemplu: Now() Returnează data și ora curentă, de exemplu 27.09.2026 21:30. |
Year(D) | Anul corespunzător datei D. Exemplu: Year(#15/06/2026#) Returnează anul 2026 Year([DataNasterii]) Returnează doar anul din valoarea câmpului Year([DataNasterii])=2008 Returnează persoanele născute în anul 2008 Year([DataNasterii])>2010 Returnează persoanele născute după anul 2010 Year([DataInregistrarii])=Year(Date()) Returnează înregistrările din anul curent. |
Month(D) | Numărul lunii din an. Exemplu: Month(#15/06/2026#) Returnează luna 6. |
Day(D) | Numărul zilei din lună. Exemplu: Day(#15/06/2026#) Returnează ziua 15. |
WeekDay(D) | Numărul de ordine al zilei în săptămână. Exemplu: WeekDay(#27/09/2026#) Returnează numărul corespunzător zilei săptămânii. |
Hour(D) | Ora corespunzătoare valorii calendaristice D. Exemplu: Hour(#27/09/2026 14:35:20#) Returnează ora 14. |
Pentru DateAdd, parametrul T poate indica unitatea calendaristică:
"yyyy"– ani;"q"– trimestre;"m"– luni;"ww"– săptămâni;"d"– zile;"h"– ore.
Funcții pentru prelucrarea textului
| Funcția | Rezultatul returnat |
|---|---|
Asc(C) | Codul ANSI al caracterului C. Exemplu: Asc("A") va returna 65 |
Chr(N) | Caracterul al cărui cod ANSI este N. Exemplu: Chr(65) va returna A |
InStr(S1; S2) | Poziția de la care S2 se găsește în S1. Exemplu: InStr("Maria Popescu"; "Pop") va returna 7 |
Mid(S; N1; N2) | Subșir de lungime N2, începând cu poziția N1. Poziția de la care S2 se găsește în S1. Exemplu: Mid("Calculator"; 1; 5) va returna Calcu |
LCase(S) | Transformă literele majuscule în litere mici. Exemplu: LCase("MARIA POPESCU") va returna maria popescu |
UCase(S) | Transformă literele mici în majuscule. Exemplu: UCase("maria popescu") va returna MARIA POPESCU |
Len(S) | Numărul de caractere ale șirului. Exemplu: Len("Calculator") va returna 10 |
LTrim(S) | Elimină spațiile de la începutul șirului. Exemplu: LTrim(" Maria") va returna Maria |
RTrim(S) | Elimină spațiile de la sfârșitul șirului. Exemplu: RTrim("Maria ") va returna Maria |
Trim(S) | Elimină spațiile de la începutul și sfârșitul șirului. Exemplu: Trim(S) va returna Maria |
Left(S; N) | Returnează primele N caractere. Exemplu: Left("Calculator"; 5) va returna Calcu |
Right(S; N) | Returnează ultimele N caractere. Exemplu: Right("Calculator"; 4) va returna ator |
Str(X) | Transformă valoarea X într-un șir de caractere. Exemplu: Str(125) va returna " 125" |
Val(S) | Obține un număr din simbolurile șirului S, dacă acesta are formatul potrivit. Exemplu: Val("125") va returna 125 |
Funcții matematice
| Funcția | Rezultatul returnat |
|---|---|
Abs(X) | Valoarea absolută a numărului X. Exemplu: Abs(-25) va returna 25 |
Atn(X) | Arctangenta, în radiani, a numărului X. Exemplu: Atn(1) va returna 0,7854 radiani |
Avg(C) | Media aritmetică a valorilor câmpului C. Exemplu: Avg([Nota]) va returna media valorilor din câmpul Nota |
Count(C) | Numărul valorilor nevide ale câmpului C. Exemplu: Count([Nume]) va returna numărul înregistrărilor care au valoare în Nume |
Max(C) | Valoarea maximă din câmpul C. Exemplu: Max([Nota] va returna cea mai mare valoare din câmpul Nota Max([Pret]*[Cantitate]) va calcula cea mai mare valoare a stocului |
Cos(X) | Cosinusul numărului X. Exemplu: Cos(0) va returna 1 |
Exp(X) | Valoarea eX. Exemplu: Exp(1) va returna 2,71828 |
Int(X) | Partea întreagă a numărului X. Exemplu: Int(15,78) va returna 15 |
Log(X) | Logaritmul zecimal al numărului X. Exemplu: Log(10) va returna 2,3026 |
Rnd() | Un număr aleator cuprins între 0 și 1. Exemplu: Rnd() va returna un număr aleator între 0 și 1 |
Sgn(X) | Returnează 0 dacă X este pozitiv și −1 dacă X este negativ, conform sursei. Exemplu: Sgn(25) va returna 0 |
Sin(X) | Sinusul numărului X. Exemplu: Sgn(25) va returna 0 |
Sqr(X) | Rădăcina pătrată a numărului X. Exemplu: Sqr(144) va returna 12 |
Tan(X) | Tangenta numărului X. Exemplu: Tan(0) va returna 0 |
Observații privind utilizarea funcțiilor
- În calitate de parametri ai funcțiilor pot fi utilizați identificatorii câmpurilor, scriși între simbolurile
[și]. - Dacă parametrul funcției este o constantă calendaristică, aceasta se scrie între ghilimele.
Reține!
- O expresie Access este alcătuită din operatori și operanzi.
- Identificatorii permit referirea la obiectele și câmpurile bazei de date.
- Operatorii de comparare și cei logici sunt utilizați pentru formularea condițiilor.
Like,In,BetweenșiIs Nullsunt utilizați frecvent pentru verificarea valorilor.- Funcțiile Access permit prelucrarea datelor calendaristice, textuale și numerice.
- Expresiile pot fi utilizate în reguli de validare, interogări și rapoarte.