duminică, 27 septembrie 2026

Expresii, operatori și funcții în Microsoft Access

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]

Observație: Dacă nu există posibilitatea unei confuzii, uneori poate fi utilizat doar numele subobiectului.

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
ModRestul î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
AndCombină 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. 
OrPermite 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. 
NotInversează 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ă.
XorOperator 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ă. 
Exemplu: [Elevi].[Telefon] Is Null (găsește toți elevii fără telefon)

Like - Verifică dacă un șir respectă un anumit șablon. Șablonul utilizat împreună cu Like se scrie între ghilimele și poate conține caractere de înlocuire (? - pentru un singur caracter, # - pentru singură o cifră, * - pentru orice număr de caractere, inclusiv lipsa lor.) și liste de valori. Lista de valori se scrie între [ și ], iar [! ] va exclude valorile indicate.
Exemple: 
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.
Exemplu: 
Clasa IN ("10","11","12") (Selectează elevii din clasele 10, 11 sau 12)

Between - Verifică dacă o valoare aparține unui interval.
Exemplu: 
Between 2 And 10 (valorile între 2 și 10)
Această expresie este echivalentă cu: >= 2 And <= 10

8. Expresii în regula de validare

Important: La scrierea expresiei condiției de validare în caseta Validation Rule, identificatorul primului operand nu se scrie. Acesta este considerat implicit identificatorul câmpului respectiv.

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

  1. În calitate de parametri ai funcțiilor pot fi utilizați identificatorii câmpurilor, scriși între simbolurile [ și ].
  2. 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 și Is Null sunt 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.