Puteți utiliza expresiile pentru a face tot felul de lucruri cu datele. De exemplu, determinați câte zile au trecut de când a fost expediată o comandă sau combinați un Prenume și un Nume într-o NumeComplet. Secțiunile următoare vă arată cum să creați o expresie pas cu pas.
În acest articol
Calcularea valorilor pentru controale în formulare și rapoarte
Când utilizați o expresie ca sursă de date pentru un control, creați un control calculat. De exemplu, să presupunem că aveți un raport care afișează mai multe înregistrări de inventar și doriți să creați un total în subsolul raportului care însumează toate elementele din liniile raportului.
Pentru a calcula totalul, plasați un control casetă text în subsolul raportului și setați proprietatea Sursă control a casetei text la următoarea expresie:
=Sum([table_field])
În acest caz, table_field este numele câmpului care conține valorile de subtotal. Câmpul poate proveni dintr-un tabel sau dintr-o interogare. Funcția Sum calculează totalul pentru toate valorile table_field.
PROCEDURĂ
-
În panoul Navigare, faceți clic cu butonul din dreapta pe formularul pe care doriți să-l modificați, apoi faceți clic pe Vizualizare aspect sau pe Vizualizare proiect în meniul de comenzi rapide.
-
Selectați controlul în care doriți să introduceți o expresie.
-
Dacă nu este afișată deja Foaia de proprietăți, apăsați F4 pentru a o afișa.
-
Pentru a crea manual o expresie, pe fila Date din foaia de proprietăți, faceți clic pe proprietatea Sursă control a casetei text, apoi tastați = urmat de restul expresiei. De exemplu, pentru a calcula subtotalul afișat deasupra, tastați table_field și asigurați-vă că introduceți numele câmpului în loc de =Sum([table_field]).
-
Pentru a crea o expresie utilizând Generatorul de expresii, faceți clic pe butonul Generare în caseta de proprietăți.
După ce ați terminat expresia, foaia de proprietăți va arăta astfel:
Utilizarea expresiilor drept criterii de interogare
Utilizați criterii într-o interogare pentru a restrânge rezultatele interogării. Introduceți criteriile sub forma unei expresii și Access returnează doar rândurile care se potrivesc cu expresia.
De exemplu, să presupunem că doriți să vedeți toate comenzile pentru care data de livrare a fost în primele trei luni ale anului 2017. Pentru a introduce criteriile, tastați următoarea expresie în celula Criterii pentru coloana Dată/Oră din interogarea dvs. Acest exemplu utilizează o coloană Dată/Oră denumită DatăExpediere. Pentru a defini un interval de date calendaristice, introduceți criteriile astfel:
Between #1/1/2017# And #3/31/2017#
Coloana DatăExpediere va semăna cu următoarea ilustrație.
Pentru fiecare înregistrare din tabelul Comenzi, dacă valoarea din coloana DatăExpediere se încadrează în intervalul de date specificat, atunci înregistrarea este adăugată la rezultatele interogării. Observați că în expresie încadrați datele între semne diez (#). Access tratează valorile dintre semnele diez ca tip de date Dată/Oră. Astfel, puteți efectua calcule cu acele date, cum ar fi adunarea sau scăderea unei date calendaristice din alta.
PROCEDURĂ
-
În Panoul de navigare, faceți clic cu butonul din dreapta pe interogarea pe care doriți să o modificați, apoi faceți clic pe Vizualizare proiect în meniul de comenzi rapide.
-
Faceți clic în celula Criterii din coloana pentru care doriți să introduceți criteriile.
-
Pentru a crea o expresie în mod manual, tastați criteriile expresiei. Nu puneți operatorul (=) înaintea expresiei cu criterii..
-
Pentru a crea expresia utilizând Generatorul de expresii, pe panglică, faceți clic pe Proiectare, apoi, în grupul Inițializare interogare , faceți clic pe Generator .
Dacă doriți o zonă mai mare în care să editați expresia, plasați cursorul în celula Criterii și apăsați SHIFT+F2 pentru a afișa caseta Zoom.
Sfat Pentru a face textul mai ușor de citit, selectați Font.
Crearea unui câmp calculat într-o interogare
Să presupunem că proiectați o interogare și doriți să afișați rezultatele unui calcul care folosește alte câmpuri din interogare. Pentru a crea câmpul calculat, introduceți o expresie într-o celulă necompletată din rândul Câmp din interogare. De exemplu, dacă aveți o interogare care conține un câmp Cantitate și un câmp Preț unitar, aveți posibilitatea să le înmulțiți pentru a crea un câmp calculat pentru Preț extins introducând următoarea expresie în rândul Câmp din interogare:
Extended Price: [Quantity] * [Unit Price]
Dacă plasați textul Extended Price: înaintea expresiei, atunci coloana nouă se va numi Preț extins. Acest nume este denumit adeseori alias. Dacă nu oferiți un alias, Access va crea unul, cum ar fi Expr1.
Când rulați interogarea, Access efectuează calculul pentru fiecare rând, după cum este afișat în următoarea ilustrație:
PROCEDURĂ
-
În Panoul de navigare, faceți clic cu butonul din dreapta pe interogarea pe care doriți să o modificați, apoi faceți clic pe Vizualizare proiect în meniul de comenzi rapide.
-
Faceți clic pe celula Câmp din coloana în care doriți să creați câmpul calculat.
-
Pentru a crea expresia în mod manual, tastați expresia.
Nu plasați operatorul = înaintea expresiei criteriilor; în schimb, începeți expresia cu o etichetă descriptivă, urmată de simbolul două puncte. De exemplu, introduceți Extended Price: pentru a furniza o etichetă pentru o expresie care creează un câmp calculat denumit Preț extins. Apoi, introduceți criteriile expresiei după simbolul două puncte.
-
Pentru a crea expresia utilizând Generatorul de expresii, în panglică, faceți clic pe Proiectare, apoi, în grupul Inițializare interogare, faceți clic pe Generator.
Crearea unui câmp calculat într-un tabel
În Access, aveți posibilitatea să creați un câmp calculat într-un tabel. Aceasta elimină nevoia de a crea o interogare separată pentru a efectua calcule. De exemplu, dacă aveți un tabel care listează cantitatea, prețul și valoarea TVA pentru fiecare element dintr-o comandă, puteți adăuga un câmp calculat care afișează prețul total, cum ar fi:
[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))
Calcularea nu poate include câmpuri din alte tabele sau interogări, iar rezultatele calculului sunt doar în citire.
PROCEDURĂ
-
Deschideți tabelul, făcând dublu clic pe acesta în Panoul de navigare.
-
Defilați pe orizontală la coloana din extremitatea dreaptă a tabelului, apoi faceți clic pe antetul de coloană Faceți clic pentru adăugare.
-
În lista care apare, faceți clic pe Câmp calculat, apoi pe tipul de date dorit pentru rezultat. Access afișează Generatorul de expresii.
-
Introduceți calculul pe care îl doriți pentru acest câmp, cum ar fi:
[Quantity] * [Unit Price]
Pentru un câmp calculat, nu începeți expresia cu un semn egal (=).
-
Faceți clic pe OK.
Access adaugă câmpul calculat, apoi evidențiază antetul de câmp, astfel încât să aveți posibilitatea să tastați un nume de câmp.
-
Tastați un nume pentru câmpul calculat, apoi apăsați ENTER.
Setarea valorilor implicite pentru un câmp de tabel
Puteți utiliza o expresie pentru a specifica o valoare implicită pentru un câmp dintr-un tabel - o valoare pe care Access o utilizează pentru înregistrări noi, dacă nu se furnizează o altă valoare. De exemplu, să presupunem că doriți să inserați automat data și ora într-un câmp denumit DatăComandă atunci când cineva adaugă o înregistrare nouă. Pentru a face acest lucru, puteți utiliza următoarea expresie:
Now()
PROCEDURĂ
-
În Panoul de navigare, faceți dublu clic pe tabelul pe care îl modificați.
Access deschide tabelul în vizualizarea Foaie de date.
-
Selectați câmpul pe care doriți să-l modificați.
-
Pe panglică, faceți clic pe Câmpuri tabel, apoi, în grupul Proprietăți , faceți clic pe Valoare implicită. Access afișează Generatorul de expresii.
-
Tastați expresia în casetă, asigurându-vă că începeți expresia cu semnul egal (=).
Notă Dacă legați un control la un câmp de tabel și atât controlul, cât și câmpul de tabel au valori implicite, valoarea implicită a controlului va avea prioritate în fața valorii câmpului de tabel.
Setarea valorilor implicite pentru controale
Alt loc în care se utilizează de obicei o expresie este proprietatea Valoare implicită a unui control. Proprietatea Valoare implicită a unui control este similară cu proprietatea Valoare implicită a unui câmp dintr-un tabel. De exemplu, dacă doriți să utilizați data curentă ca valoare implicită pentru o casetă text, aveți posibilitatea să utilizați următoarea expresie:
Date()
Această expresie utilizează funcția Date pentru a returna data curentă, dar nu și ora. Dacă legați caseta text de un câmp de tabel și câmpul are o valoare implicită, valoarea implicită a controlului va avea prioritate în fața câmpului de tabel. De obicei, este mai bine să setați proprietatea Valoare implicită pentru câmpul din tabel. Astfel, dacă aveți câteva controale pentru diferite formulare bazate pe același câmp de tabel, aceeași valoare implicită se va aplica pentru fiecare control, asigurând introducerea de date unitare în fiecare formular.
PROCEDURĂ
-
În Panoul de navigare, faceți clic cu butonul din dreapta pe formularul sau raportul pe care doriți să-l modificați, apoi faceți clic pe Vizualizare Proiect sau pe Vizualizare Aspect în meniul de comenzi rapide.
-
Selectați controlul pe care doriți să îl modificați.
-
Dacă foaia de proprietăți nu este afișată deja, apăsați F4 pentru a o afișa.
-
Faceți clic pe fila Toate în foaia de proprietăți, apoi faceți clic pe caseta de proprietăți Valoare implicită.
-
Tastați expresia sau faceți clic pe butonul Generare în caseta de proprietăți pentru a crea o expresie utilizând Generatorul de expresii.
Adăugarea unei reguli de validare la un câmp sau la o înregistrare de tabel
Expresiile sunt foarte utile pentru validarea datelor, pe măsură ce acestea sunt introduse în baza de date, lăsând afară datele nepotrivite. În tabele, există două tipuri de reguli de validare: reguli de validare la nivel de câmp (care împiedică utilizatorii să introducă date incorecte într-un singur câmp) și reguli de validare la nivel de înregistrare (care împiedică utilizatorii să creeze înregistrări care nu respectă regula de validare). Utilizați expresiile pentru ambele tipuri de reguli de validare.
De exemplu, să presupunem că aveți un tabel denumit Inventar cu un câmp numit Unități disponibile și doriți să setați o regulă care impune utilizatorilor să introducă o valoare mai mare sau egală cu zero. Cu alte cuvinte, inventarul nu poate fi niciodată un număr negativ. Puteți face aceasta utilizând următoarea expresie ca regulă de validare a câmpului în câmpul Unități disponibile:
>=0
PROCEDURĂ: Introduceți un câmp sau o regulă de validare a înregistrărilor
-
În Panoul de navigare, faceți dublu clic pe tabelul pe care doriți să-l modificați. Access deschide tabelul în vizualizarea Foaie de date.
-
Pentru o regulă de validare a câmpului, selectați câmpul pe care doriți să îl modificați.
-
Pe panglică, faceți clic pe Câmpuri tabel, apoi, în grupul Validare câmp , faceți clic pe Validare, apoi pe Regulă de validare câmp sau pe Regulă de validare. Access afișează Generatorul de expresii.
-
Începeți să tastați criteriile dorite. De exemplu, pentru o regulă de validare de câmp care impune ca toate valorile să fie mai mari sau egale cu zero, tastați următoarele:
>=0
Nu puneți înaintea expresiei un semn egal (=).
Expresiile din regulile de validare sunt de tip Boolean, adică au ca rezultat valoarea True sau False pentru orice valoare introdusă dată. O regulă de validare trebuie să aibă ca rezultat valoarea True sau Acces nu salvează datele introduse și afișează un mesaj de validare ce indică eroarea. În acest exemplu, dacă introduceți o valoare mai mică decât zero pentru câmpul Unități disponibile, regula de validare are valoarea False, iar Access nu acceptă valoarea. Dacă nu ați introdus un mesaj de validare așa cum se descrie în următoarea secțiune, Access afișează propriul mesaj pentru a indica faptul că valoarea introdusă nu este permisă de regula de validare pentru câmp.
PROCEDURĂ: Introducerea unui mesaj de validare
Pentru a facilita utilizarea bazei de date, puteți introduce mesaje de validare particularizate. Acestea înlocuiesc mesajele generice pe care Access le afișează când datele nu corespund unei reguli de validare. Puteți utiliza mesajul de validare particularizat pentru a furniza informații specifice care ajută utilizatorul să introducă datele corecte, de exemplu, „Valoarea unităților disponibile nu poate fi un număr negativ”.
-
În Panoul de navigare, faceți dublu clic pe tabelul pe care îl modificați.
Access deschide tabelul în vizualizarea Foaie de date.
-
Pentru un mesaj de validare de câmp, selectați câmpul în care ați adăugat regula de validare.
-
Pe panglică, faceți clic pe Câmpuri tabel, apoi, în grupul Validare câmp , faceți clic pe Validare, apoi faceți clic pe Mesaj validare câmp sau pe Mesaj de validare.
-
În caseta de dialog Introduceți mesajul de validare, tastați mesajul care doriți să apară când datele nu se potrivesc cu regula de validare, apoi faceți clic pe OK.
Adăugarea unei reguli de validare la un control
Pe lângă câmpurile și înregistrările de tabel, controalele au și o proprietate Regulă de validare care poate accepta o expresie. De exemplu, să presupunem că utilizați un formular pentru a introduce un interval de date pentru un raport și doriți să vă asigurați că data de început nu este anterioară datei de 01.01.2017. Puteți seta proprietățile Regulă de validare și Text de validare pentru caseta text în care introduceți data de început la următoarele:
Proprietate |
Setare |
---|---|
Regulă de validare |
>=#1/1/2017# |
Text de validare |
Nu puteți introduce o dată anterioară datei de 1.1.2017. |
Dacă încercați să introduceți o dată anterioară datei de 01.01.2017, apare un mesaj și afișează textul în proprietatea Text de validare . Dacă nu s-a introdus text în caseta proprietății Text de validare , Access afișează un mesaj generic. După ce faceți clic pe OK, Access reafișează caseta text.
Setarea unei reguli de validare pentru un câmp de tabel impune regula în toată baza de date, oriunde se modifică acel câmp. Ca alternativă, setarea unei reguli de validare pentru un control dintr-un formular impune regula numai atunci când se utilizează acel formular. Setarea regulilor de validare în mod separat pentru câmpuri de tabel pentru controale din formulare poate fi utilă atunci când doriți să stabiliți diferite reguli de validare pentru diferiți utilizatori.
PROCEDURĂ
-
În Panoul de navigare, faceți clic cu butonul din dreapta pe formularul sau raportul pe care doriți să-l modificați, apoi faceți clic pe Vizualizare Proiect sau pe Vizualizare Aspect în meniul de comenzi rapide.
-
Faceți clic cu butonul din dreapta pe controlul pe care doriți să-l modificați, apoi faceți clic pe Proprietăți în meniul de comenzi rapide. Access afișează foaia de proprietăți a formularului.
-
Faceți clic pe fila Toate, apoi pe caseta de proprietăți Regulă de validare.
-
Tastați expresia sau faceți clic pe butonul Generare în caseta de proprietăți pentru a crea o expresie utilizând Generatorul de expresii.
Nu puneți operatorul = înaintea expresiei.
-
Pentru a particulariza textul care apare dacă un utilizator introduce date care nu respectă regula de validare, tastați textul dorit în proprietatea Text de validare.
Gruparea și sortarea datelor în rapoarte
Utilizați panoul Grupare, sortare și totaluri pentru a defini nivelurile de grupare și ordinile de sortare pentru datele dintr-un raport. De obicei, veți grupa sau sorta după un câmp pe care îl selectați dintr-o listă. Cu toate acestea, dacă doriți să grupați sau să sortați după o valoare calculată, aveți posibilitatea să introduceți în schimb o expresie.
Gruparea este procesul de combinare a coloanelor care conțin valori dublură. De exemplu, să presupunem că baza de date conține informații de vânzări pentru birouri din diferite orașe și că unul dintre rapoartele din baza de date este denumit „Vânzări după localitate". Interogarea care furnizează datele pentru acel raport grupează datele după valorile localităților. Acest tip de grupare poate face informațiile mai ușor de citit și înțeles.
Prin contrast, sortarea este procesul de impunere a unei ordini de sortare pentru rândurile (înregistrările) rezultatelor interogării. De exemplu, aveți posibilitatea să sortați înregistrările după valorile cheii primare (sau alt set de valori din alt câmp) în ordine ascendentă sau descendentă sau să sortați înregistrările după unul sau mai multe caractere într-o ordine specifică, cum ar fi ordinea alfabetică.
PROCEDURĂ: Adăugarea grupării și sortării la un raport
-
În Panoul de navigare, faceți clic cu butonul din dreapta pe raportul pe care doriți să-l modificați, apoi faceți clic pe Vizualizare aspect sau pe Vizualizare Proiect în meniul de comenzi rapide.
-
Pe panglică, faceți clic pe Proiectare raport, iar în grupul Grupare & Totaluri , faceți clic pe Grupare & sortare. Panoul Grupare, sortare și totaluri apare sub raport.
-
Pentru a adăuga un nivel de grupare la raport, faceți clic pe Adăugare grup.
-
Pentru a adăuga o ordine de sortare la raport, faceți clic pe Adăugare sortare.
Apare un nivel nou de grupare sau o ordine nouă de sortare în panou, plus o listă de câmpuri care furnizează date pentru raport. Această ilustrație afișează un nivel de grupare (grupare după Categorie) și o ordine de sortare (sortare după Producător) noi, tipice, plus o listă care conține câmpurile disponibile pentru grupare și sortare:
-
Sub lista de câmpuri disponibile, faceți clic pe expresie pentru a începe să utilizați Generatorul de expresii.
-
Introduceți expresia pe care doriți să o utilizați în caseta de expresii (caseta superioară) a Generatorului de expresii. Asigurați-vă că începeți expresia cu operatorul egal (=).
PROCEDURĂ: Adăugarea unei expresii la o grupare sau sortare existentă
-
În Panoul de navigare, faceți clic cu butonul din dreapta pe raportul pe care doriți să-l modificați, apoi faceți clic pe Vizualizare aspect sau pe Vizualizare Proiect în meniul de comenzi rapide.
-
Faceți clic pe nivelul de grupare sau pe ordinea de sortare pe care doriți să le modificați.
-
Faceți clic pe săgeata în jos de lângă Grupare după (pentru niveluri de grupare) sau pe Sortare după (pentru ordini de sortare). Se afișează o listă care conține câmpurile disponibile.
-
În partea de jos a listei care conține câmpurile, faceți clic pe expresie pentru a începe să utilizați Generatorul de expresii.
-
Tastați expresia în caseta de expresii (caseta de sus) din Generatorul de expresii. Asigurați-vă că începeți expresia cu operatorul egal (=).
Controlul acțiunilor de macrocomenzi care se rulează
În unele cazuri, veți dori să efectuați o acțiune sau o serie de acțiuni într-o macrocomandă numai dacă este adevărată o anumită condiție. De exemplu, să presupunem că doriți ca o acțiune de macrocomandă să ruleze numai atunci când valoarea dintr-o casetă text este mai mare sau egală cu 10. Pentru a seta această regulă, utilizați o expresie dintr-un bloc If din macrocomandă pentru a defini condiția din macrocomandă.
În acest exemplu, să presupunem că numele casetei text este „Elemente”. Expresia care setează condiția este:
[Items]>=10
PROCEDURĂ
-
În Panoul de navigare, faceți clic cu butonul din dreapta pe macrocomanda pe care doriți să o modificați, apoi faceți clic pe Vizualizare proiect în meniul de comenzi rapide.
-
Faceți clic pe blocul If pe care doriți să îl modificați sau adăugați un bloc If din panoul Catalog acțiuni.
-
Faceți clic pe linia superioară a blocului If.
-
Tastați expresia condițională în casetă sau faceți clic pe butonul Generare lângă caseta de expresii pentru a începe să utilizați Generatorul de expresii.
Expresia pe care o tastați trebuie să fie de tip Boolean, însemnând că ia valoarea True sau False. Acțiunile de macrocomandă din blocul If rulează numai atunci când condiția ia valoarea True.
Consultați și
Utilizarea Generatorului de expresii