Ghid pentru sintaxa expresiilor

Atunci când utilizați Microsoft Access, este necesar adesea să lucrați cu valori care nu se află direct în datele dvs. De exemplu, când doriți să calculați TVA-ul pentru o comandă sau să calculați valoarea totală a comenzii în sine. Puteți calcula aceste valori utilizând expresii. Pentru a utiliza expresii, trebuie să le scrieți utilizând sintaxa corectă. Sintaxa reprezintă setul de reguli după care sunt combinate cuvinte și simboluri în mod corect într-o expresie. Inițial, expresiile din Access sunt puțin mai greu de citit. Dar cu o bună înțelegere a sintaxei expresiilor și puțin exercițiu, procesul devine mult mai ușor.

În acest articol

Prezentare generală a expresiilor

Componentele expresiilor

Obiecte, colecții și proprietăți

Identificatori

Funcții, operatori, constante și valori

Limita de imbricare pentru expresiile dintr-o bază de date web este de 65

Prezentare generală a expresiilor

O expresie este o combinație parțială sau generală a următoarelor componente: funcții predefinite sau definite de utilizator, identificatori, operatori, valori și constante care se evaluează la o singură valoare.

Componentele unei expresii

De exemplu, următoarea expresie include componentele comune:

=Sum([Purchase Price])*0.08 
  • Sum() este o funcție predefinită

  • [Purchase Price] este un identificator

  • * este un operator matematic

  • 0.08 este o constantă

Această expresie poate fi utilizată într-o casetă de text dintr-un subsol de formular sau de raport pentru a calcula impozitul pe vânzări pentru un grup de elemente.

Expresiile pot fi mult mai complexe sau mult mai simple decât acest exemplu. De exemplu, această expresie de tip Boolean este formată numai dintr-un operator și o constantă:

>0

Această expresie returnează:

  • True când este comparată cu un număr mai mare decât 0.

  • False când este comparată cu un număr mai mic decât 0.

Puteți utiliza această expresie în proprietatea Regulă de validare a unui control sau a unui câmp de tabel, pentru a vă asigura că se introduc numai valori pozitive. Expresiile sunt utilizate în numeroase locuri pentru a efectua calcule, a manipula caractere sau a testa date. Tabelele, interogările, formularele, rapoartele și macrocomenzile au proprietăți care acceptă expresii. De exemplu, puteți utiliza expresiile din proprietățile Sursă control și Valoare implicită pentru un control. Puteți utiliza expresiile din proprietatea Regulă de validare și pentru un câmp de tabel.

Începutul paginii

Componentele expresiilor

Pentru a construi o expresie, combinați identificatori utilizând funcții, operatori, constante și valori. Orice expresie validă trebuie să conțină cel puțin o funcție sau cel puțin un identificator și, de asemenea, poate conține constante sau operatori. Puteți utiliza o expresie și ca parte dintr-o altă expresie, de obicei, ca argument al unei funcții. Acest procedeu se numește imbricarea expresiei.

  • Identificatori    Forma generală este:

    [Collection name]![Object name].[Property name]

    Trebuie doar să specificați suficiente părți dintr-un identificator pentru a-l face unic în contextul expresiei. Nu este neobișnuit ca un identificator să ia forma [Object name].

  • Funcții    Forma generală este:

    Function(argument, argument)

    Unul dintre argumente este, de obicei, un identificator sau o expresie. Unele funcții nu necesită argumente. Înainte de a utiliza o anumită funcție, verificați sintaxa acelei funcții. Pentru mai multe informații, consultați Funcții (aranjate după categorie).

  • Operatori    Forma generală este:

    Identifier operator identifier

    Există excepții la această formă, așa cum este descris în secțiunea Operatori.

  • Constante    Forma generală este:

    Identifier comparison_operator  constant
  • Valori    Valorile pot apărea în mai multe locații dintr-o expresie.

Începutul paginii

Obiecte, colecții și proprietăți

Toate tabelele, interogările, formularele, rapoartele și câmpurile din baza de date Access sunt cunoscute individual ca obiecte. Fiecare obiect are un nume. Unele obiecte sunt denumite deja, cum ar fi tabelul Persoane de contact dintr-o bază de date creată din șablonul Persoane de contact Microsoft Office Access. Atunci când creați un obiect nou, îi dați un nume.

Mulțimea tuturor membrilor având un anumit tip de obiect se numește colecție. De exemplu, mulțimea tuturor tabelelor din baza de date este o colecție. Unele obiecte care fac parte dintr-o colecție din baza de date pot fi și colecții care conțin alte obiecte. De exemplu, un obiect tabel este o colecție care conține obiecte câmp.

Obiectele au proprietăți, care descriu și oferă o modalitate de a schimba caracteristicile obiectului. De exemplu, un obiect interogare are o proprietate Vizualizare implicită care descrie și totodată vă permite să specificați modul în care va apărea interogarea atunci când o rulați.

Diagrama următoare ilustrează relația dintre colecții, obiecte și proprietăți:

Relațiile colecțiilor cu obiectele și proprietățile

3 O proprietate

2 Un obiect

1 O colecție

Începutul paginii

Identificatori

Atunci când utilizați un obiect, o colecție sau o proprietate într-o expresie, faceți referire la acel element utilizând un identificator. Un identificator include numele elementului pe care îl identificați și, de asemenea, numele elementului căruia îi aparține. De exemplu, identificatorul pentru un câmp include numele câmpului și numele tabelului căruia îi aparține câmpul. Un exemplu cu un astfel de identificator este:

[Customers]![BirthDate]

În unele cazuri, numele unui element funcționează singur ca identificator. Acest lucru este valabil atunci când numele elementului este unic în contextul expresiei pe care o creați. Restul identificatorului este dedus din context. De exemplu, dacă proiectați o interogare care utilizează un singur tabel, numele de câmpuri în sine vor funcționa ca identificatori, pentru că numele de câmpuri dintr-un tabel trebuie să fie unice în tabelul respectiv. Pentru că utilizați un singur tabel, numele tabelului este dedus în orice identificator pe care îl utilizați în interogare pentru a face referire la un câmp.

În alte cazuri, trebuie să fiți explicit în legătură cu părțile unui identificator pentru ca o referință să funcționeze. Acest lucru este valabil atunci când un identificator nu este unic în contextul expresiei. Atunci când există o ambiguitate, trebuie să indicați în mod explicit suficiente părți ale identificatorului pentru a-l face unic într-un context. De exemplu, să presupunem că proiectați o interogare care utilizează un tabel denumit Produse și un tabel denumit Comenzi, și ambele tabele au un câmp denumit IDProdus. În acest caz, identificatorul pe care îl utilizați în interogare pentru a face referire la oricare dintre aceste câmpuri IDProdus trebuie să includă numele tabelului în plus față de numele câmpului, de exemplu:

[Products]![ProductID]

Operatori de identificatori    Există trei operatori pe care îi puteți utiliza într-un identificator:

  • Operatorul semn de exclamare (!)

  • Operatorul punct (.)

  • Operatorul paranteze drepte ([ ])

Utilizați acești operatori înconjurând fiecare parte a identificatorului cu paranteze drepte, apoi asociindu-le utilizând un operator semn de exclamare sau un operator punct. De exemplu, un identificator pentru un câmp denumit Nume dintr-un tabel denumit Angajați poate fi exprimat ca [Employees]![Last Name]. Operatorul semn de exclamare spune programului Access că ceea ce urmează este un obiect care aparține colecției care precedă operatorul semn de exclamare. În acest caz, [Nume] este un obiect câmp care face parte din colecția [Angajați], care este în sine un obiect tabel.

Strict vorbind, nu este necesar întotdeauna să tastați paranteze drepte în jurul unui identificator sau al unui identificator parțial. Dacă nu există spații sau alte caractere speciale în identificator, Access adaugă automat paranteze drepte atunci când citește expresia. Totuși, este o idee bună să tastați parantezele drepte dvs.: acest lucru vă ajută să evitați erorile și, de asemenea, funcționează ca un indiciu vizual că o anumită parte dintr-o expresie este un identificator.

Începutul paginii

Funcții, operatori, constante și valori

Pentru a crea o expresie, aveți nevoie de mai mult decât de identificatori: trebuie să efectuați o acțiune de un anumit fel. Utilizați funcții, operatori și constante pentru a efectua acțiuni într-o expresie.

Funcții

O funcție este o procedură pe care o puteți utiliza într-o expresie. Unele funcții, cum ar fi Date, nu necesită niciun fel de intrare pentru a funcționa. Însă cele mai multe funcții necesită intrări, denumite argumente.

În exemplul de la începutul acestui articol, funcția DatePart utilizează două argumente: un interval argument, cu o valoare "yyyy", și un argument dată, cu o valoare [Customers]![BirthDate]. Funcția DatePart necesită cel puțin aceste două argumente (intervalul și data), dar poate accepta până la patru argumente.

Lista următoare afișează câteva funcții utilizate de obicei în expresii. Faceți clic pe linkul pentru fiecare funcție pentru mai multe informații despre sintaxa pe care o utilizați cu acea funcție.

  • Funcția Date este utilizată pentru a insera data curentă a sistemului într-o expresie. Aceasta este utilizată de obicei împreună cu funcția Format și, de asemenea, împreună cu identificatori de câmp pentru câmpurile care conțin date de tip dată/oră.

    =Date()
  • Funcția DatePart este utilizată pentru a determina sau a extrage o parte dintr-o dată, de obicei, o dată care este obținută de la un identificator de câmp, dar, uneori, o valoare dată returnată de altă funcție, cum ar fi Date.

    DatePart ( "yyyy", Date())
  • Funcția DateDiff este utilizată pentru a determina diferența dintre două date calendaristice, de obicei, dintre o dată care este obținută de la un identificator de câmp și o dată care se obține utilizând funcția Date.

    =DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10 
  • Funcția Format este utilizată pentru a aplica un format la un identificator, și la rezultatele altei funcții.

    Format([Date],"ww")=Format(Now(),"ww")-1 
  • Funcția IIf este utilizată pentru a evalua o expresie ca adevărată sau falsă și a returna apoi o valoare dacă expresia se evaluează ca adevărată și o altă valoare dacă expresia se evaluează ca falsă.

    =IIf([CountryRegion]="Italy", "Italian", "Some other language")
  • Funcția InStr este utilizată pentru a căuta poziția unui caracter sau șir într-un alt șir. Șirul care este căutat este obținut de obicei de la un identificator de câmp.

    InStr(1,[IPAddress],".")
  • Funcțiile Left, Mid și Right sunt utilizate pentru a extrage caractere dintr-un șir, începând cu caracterul cel mai din stânga (Left), o anumită poziție din mijloc (Mid), sau cu caracterul cel mai din dreapta (Right). Acestea sunt utilizate frecvent împreună cu funcția InStr. Șirul din care aceste funcții extrag caractere este obținut de obicei de la un identificator de câmp.

    Left([ProductName], 1)
    Right([AssetCode], 2) 
    Mid([Phone],2,3) 
    

Pentru o listă de funcții, consultați Funcții (aranjate după categorie).

Operatori

Un operator este un cuvânt sau un simbol care indică o relație aritmetică sau logică specifică între celelalte elemente ale unei expresii. Operatorii pot fi:

  • Aritmetici, cum ar fi semnul plus (+).

  • De comparație, cum ar fi semnul egal (=).

  • Logici, cum ar fi Not.

  • De concatenare, cum ar fi &.

  • Speciali, cum ar fi Like.

Operatorii sunt utilizați în general pentru a indica o relație între doi identificatori. Următoarele tabele descriu operatorii pe care îi puteți utiliza în expresii Access.

Aritmetici   

Utilizați operatorii aritmetici pentru a calcula o valoare din două sau mai multe numere sau pentru a modifica semnul unui număr din pozitiv în negativ.

Operator

Scop

Exemplu

+

Adunați două numere.

[Subtotal] + [ImpozitVânzări]

-

Găsiți diferența dintre două numere sau indicați valoarea negativă a unui număr.

[Preț]-[Discount]

*

Înmulțiți două numere.

[Cantitate]*[Preț]

/

Împărțiți primul număr la cel de-al doilea.

[Total]/[NumărElemente]

\

Rotunjiți ambele numerele la numere întregi, împărțiți primul număr la cel de-al doilea, apoi trunchiați rezultatul la un întreg.

[Înregistrat]\[Săli]

Mod

Împărțiți primul număr la cel de-al doilea și returnați doar restul.

[Înregistrat] Mod [Săli]

^

Ridicați un număr la puterea unui exponent.

Număr ^ Exponent

De comparație   

Utilizați operatorii de comparare pentru a compara valorile și a returna un rezultat care este adevărat, fals sau nul (o valoare necunoscută).

Operator

Scop

<

Determinați dacă prima valoare este mai mică decât a doua.

<=

Determinați dacă prima valoare este mai mică sau egală cu a doua.

>

Determinați dacă prima valoare este mai mare decât a doua.

>=

Determinați dacă prima valoare este mai mare sau egală cu a doua.

=

Determinați dacă prima valoare este egală cu a doua.

<>

Determinați dacă prima valoare nu este egală cu a doua.

În toate cazurile, dacă prima sau a doua valoare este Null, și rezultatul este Null. Deoarece Null reprezintă o valoare necunoscută, rezultatul oricărei comparații cu Null este, de asemenea, necunoscut.

Logici   

Utilizați operatorii logici pentru a combina două valori și a returna un rezultat adevărat, fals sau nul. Este posibil să vedeți și operatorii logici denumiți operatori booleeni.

Operator

Utilizare

Descriere

And

Expr1 And Expr2

Adevărat când Expr1 și Expr2 sunt adevărate.

Or

Expr1 Or Expr2

Adevărat când fie Expr1, fie Expr2 este adevărată.

Eqv

Expr1 Eqv Expr2

Adevărat când atât Expr1, cât și Expr2 sunt adevărate sau când atât Expr1, cât și Expr2 sunt false.

Not

Not Expr

Adevărat atunci când Expr nu este adevărată.

Xor

Expr1 Xor Expr2

Adevărat când Expr1 este adevărată sau Expr2 este adevărată, dar nu ambele.

De concatenare   

Utilizați operatorii de concatenare pentru a combina două valori text într-un șir.

Operator

Utilizare

Descriere

&

șir1 & șir2

Combină două șiruri pentru a forma unul singur.

+

șir1 + șir2

Combină două șiruri pentru a forma unul singur și propagă valorile nule.

Speciali   

Utilizați operatorii speciali așa cum se descrie în tabelul următor.

Operator

Descriere

Pentru mai multe informații

Is Null or Is Not Null

Determină dacă o valoare este nulă sau nenulă.

Like "pattern"

Potrivește valorile șir utilizând operatorii wildcard ? și *.

Operatorul Like

Between val1 And val2

Determină dacă o valoare numerică sau dată se încadrează într-un interval.

Operatorul Between...And

In(string1,string2...)

Determină dacă o valoare șir este inclusă într-un set de valori șir.

Operatorul In

Constante

O constantă este o valoare cunoscută care nu se modifică și pe care o puteți utiliza într-o expresie. Există patru constante utilizate de obicei în Access:

  • True indică un element care este în mod logic adevărat.

  • False indică un element care este în mod logic fals.

  • Null indică lipsa unei valori cunoscute.

  • "" (empty string) indică o valoare care este cunoscută drept goală.

Constantele pot fi utilizate ca argumente pentru o funcție și pot fi utilizate într-o expresie ca parte dintr-un criteriu. De exemplu, puteți utiliza constanta șir gol ("") ca parte dintr-un criteriu pentru o coloană dintr-o interogare pentru a evalua valorile de câmp pentru acea coloană, prin introducerea următoarelor drept criteriu: <>"". În acest exemplu, <> este un operator și "" este o constantă. Utilizate împreună, acestea indică faptul că identificatorul la care sunt aplicate ar trebui comparat cu un șir gol. Expresia rezultată este adevărată atunci când valoarea identificatorului este orice altceva decât un șir gol.

Fiți atent atunci când utilizați constanta Null. În majoritatea cazurilor, utilizarea Null împreună cu un operator de comparare va genera o eroare. Dacă doriți să comparați o valoare cu Null într-o expresie, utilizați operatorul Is Null sau Is Not Null.

Valori

Puteți utiliza valori literale în expresiile dvs., cum ar fi numărul 1.254 sau șirul „Introduceți un număr între 1 și 10”. Puteți să utilizați și valori numerice, care pot fi o serie de cifre, inclusiv un semn și o virgulă zecimală, dacă este necesar. În absența unui semn, Access presupune că este vorba de o valoare pozitivă. Pentru a face valoarea negativă, includeți semnul minus (-). De asemenea, puteți utiliza notația științifică. Pentru a face aceasta, includeți „E” sau „e” și semnul exponentului (de exemplu, 1,0E-6).

Când utilizați șiruri text, încadrați-le între ghilimele, pentru a vă asigura că Access le interpretează corect. Uneori, Access furnizează automat ghilimelele. De exemplu, când tastați text într-o expresie pentru o regulă de validare sau pentru criterii de interogare, Access încadrează automat șirurile text în ghilimele.

De exemplu, dacă tastați textul Paris, Access afișează „Paris” în expresie. Dacă doriți ca expresia să producă un șir text încadrat în ghilimele duble, încadrați șirul imbricat între ghilimele simple (') sau între trei seturi de ghilimele duble ("). De exemplu, următoarele expresii sunt echivalente:

Forms![Contacts]![City]. DefaultValue = ' "Paris" ' 
Forms![Contacts]![City].DefaultValue = " " "Paris" " " 

Pentru a utiliza valori de tip dată/oră, încadrați-le în simboluri diez (#). De exemplu, #7-3-17#, #7-Mar-17# și #Mar-7-2017# sunt toate valori valide de tip dată/oră. Când Access întâlnește o valoare validă de tip dată/oră încadrată între caractere #, tratează automat valoarea ca tip de date Dată/Oră.

Începutul paginii

Limita de imbricare pentru expresiile dintr-o bază de date web este de 65

Expresiile imbricate la mai mult de 65 de niveluri adâncime nu vor funcționa în browser, deci ar trebui să nu utilizați astfel de expresii într-o bază de date web Access. Nu veți primi mesaje de eroare, în schimb expresia pur și simplu nu va funcționa.

Utilizarea operatorilor &, AND și OR poate crea niveluri de imbricare suplimentare pe server, care nu se reflectă în clientul Access. De exemplu, expresia "a" & "b" & "c" nu este imbricată în Generatorul de expresii, dar în SharePoint devine concatenate.Db("a", concatenate.Db("b", "c") ). Această translatare creează un nivel de imbricare. Utilizarea mai multor operatori &, AND sau OR în mod consecutiv într-o singură expresie poate determina depășirea limitei de 65 de niveluri de imbricare a serverului, moment în care expresia nu va mai funcționa în browser.

Începutul paginii

Consultați și

Utilizarea Generatorului de expresii

Introducere în expresii

Crearea unei expresii

Exemple de expresii

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×