Puteți să aprobați sau să validați datele în bazele de date desktop Access pe măsură ce le introduceți, utilizând reguli de validare. Puteți utiliza generatorul de expresii ca ajutor pentru a forma corect regula. Regulile de validare pot fi setate în vizualizarea proiectare de tabel sau în vizualizarea foaie de date de tabel. Există trei tipuri de reguli de validare în Access:
1. Regulă de validare câmp Puteți utiliza o regulă de validare a câmpului pentru a specifica un criteriu pe care trebuie să îl îndeplinească toate valorile de câmp valide. Nu ar trebui să specificați câmpul curent ca parte a regulii decât dacă utilizați câmpul într-o funcție. Restricții legate de tipurile de caractere introduse într-un câmp pot fi mai ușor de impus cu o mască de intrare. De exemplu, un câmp dată poate avea o regulă de validare care nu permite valorile din trecut.
Exemple rapide:
Nu se permit valori de date din trecut: >=Date()
Format de e-mail acceptat în general: Is Null OR ((Like "*?@?*.? *") AND (Not Like "*[ ,;] *"))
Număr mai mic sau egal cu cinci: <=5
Câmpul Monedă nu poate fi negativ: >=0
Restricționare lungime caracter în șir: Len([StringFieldName])<100
2. Regulă de validare înregistrare Puteți utiliza o regulă de validare a înregistrărilor pentru a specifica o condiție pe care trebuie să o îndeplinească toate înregistrările valide. Puteți compara valorile din mai multe câmpuri utilizând o regulă de validare a înregistrărilor. De exemplu, o înregistrare cu două câmpuri dată poate necesita ca valorile unui câmp să preceadă întotdeauna valorile celuilalt câmp (de exemplu, DataDeÎnceput este înainte de DataDeSfârșit).
Exemple rapide:
Asigurați-vă că data de sfârșit nu este anterioară datei de început: [Data de sfârșit]>=[Data de început]
Introduceți o dată necesară care are loc la cel mult 30 de zile de la data comenzii: [DatăCerută]<=[DatăComandă]+30
3. Validarea într-un formular Puteți utiliza proprietatea Regulă de validare a unui control dintr-un formular pentru a specifica un criteriu pe care trebuie să îl îndeplinească toate valorile introduse în acel control. Proprietatea controlului Regulă de validare funcționează ca o regulă de validare a câmpului. De obicei, utilizați o regulă de validare a formularelor în locul unei reguli de validare a câmpurilor dacă regula a fost specifică doar pentru acel formular și nu pentru tabel, indiferent de locul în care s-a utilizat.
În acest articol
Prezentare generală
Acest articol vă arată cum să utilizați reguli de validare și un text de validare în câmpuri de tabel și în controale de formular. O regulă de validare reprezintă o modalitate de a restricționa intrările într-un câmp de tabel sau un control (cum ar fi o casetă text) dintr-un formular. Textul de validare vă permite să furnizați un mesaj pentru a-i ajuta pe utilizatorii care introduc date ce nu sunt valide.
Când sunt introduse date, Access verifică dacă intrarea încalcă o regulă de validare – dacă așa este, intrarea nu este acceptată și Access afișează un mesaj.
Access furnizează mai multe modalități de a restrânge intrările:
-
Tipuri de date Fiecare câmp de tabel are un tip de date care restricționează ceea ce pot introduce utilizatorii. De exemplu, un câmp Dată/Oră acceptă doar date și ore, un câmp Monedă acceptă doar date monetare etc.
-
Proprietăți câmp Unele proprietăți de câmp restricționează introducerea datelor. De exemplu, proprietatea Dimensiune câmp a unui câmp restricționează intrările limitând cantitatea de date.
Puteți utiliza proprietatea Regulă de validare și pentru a solicita valori specifice, iar proprietatea Text de validare pentru a le trimite utilizatorilor o avertizare în caz de eroare. De exemplu, introducerea unei reguli precum >100 și <1000în proprietatea Regulă de validareîi obligă pe utilizatori să introducă valori între 100 și 1000. O regulă precum [DataDeSfârșit]>=[DataDeÎnceput] îi obligă pe utilizatori să introducă o dată de sfârșit care are loc la sau după o dată de început. Introducerea unui text ca „Introduceți valori între 100 și 1000” sau „Introduceți o dată de sfârșit la sau după data de început” în proprietatea Text de validare le spune utilizatorilor dacă au făcut vreo greșeală și le arată cum să o remedieze.
-
Măști de intrare O mască de intrare se utilizează pentru a valida datele, obligându-i pe utilizatori să introducă valori într-un mod specific. De exemplu, o mască de intrare îi poate obliga pe utilizatori să introducă datele în format european, cum ar fi 14.04.2007.
Puteți să utilizați aceste metode de validare a datelor independent sau în combinație cu altele. Tipurile de date nu sunt opționale și oferă tipul de bază de validare a datelor.
Pentru mai multe informații despre tipurile de date, dimensiunile de câmp și măștile de intrare, consultați articolul Introducere în tipurile de date și proprietățile câmpurilor.
Tipuri de reguli de validare
Puteți crea două tipuri de bază de reguli de validare:
-
Regulile de validare a câmpurilor Utilizarea unei reguli de validare a câmpurilor pentru a verifica valoarea pe care o introduceți într-un câmp atunci când ieșiți din câmp. De exemplu, să presupunem că aveți un câmp Dată și introduceți >=#01/01/2010# în proprietatea Regulă de validare a acelui câmp. Regula le solicită acum utilizatorilor să introducă date la sau după 1 ianuarie 2010. Dacă introduceți o dată anterioară datei de 2010 și apoi încercați să plasați focalizarea pe alt câmp, Access vă împiedică să ieșiți din câmpul curent până la remedierea problemei.
-
Regulile de validare a înregistrărilor Utilizați o regulă de validare a înregistrărilor pentru a controla când să salvați o înregistrare (un rând dintr-un tabel). Spre deosebire de o regulă de validare a câmpurilor, regula de validare a înregistrărilor se referă la alte câmpuri din același tabel. Creați reguli de validare a înregistrărilor atunci când trebuie să comparați valorile dintr-un câmp cu valorile din alt câmp. De exemplu, să presupunem că firma dvs. vă solicită să livrați produse în termen de 30 de zile și, dacă nu livrați în acel moment, trebuie să-i restituiți clientului o parte din prețul de achiziție. Aveți posibilitatea să definiți o regulă de validare a înregistrărilor cum ar fi [Dată Cerută] < = [DatăComandă] + 30 pentru a vă asigura că o persoană nu introduce o dată de expediere (valoarea din câmpul DatăCerută) prea târziu în viitor.
Dacă sintaxa pentru regulile de validare vă pare enigmatică, consultați secțiunea Ce se poate pune într-o regulă de validare pentru a obține o explicare a sintaxei și a vedea câteva exemple de reguli de validare.
Unde se pot utiliza regulile de validare
Puteți să definiți reguli de validare pentru câmpuri de tabel și pentru controale din formulare. Când definiți reguli pentru tabele, acele reguli se aplică atunci când importați date. Pentru a adăuga reguli de validare la un tabel, deschideți tabelul și utilizați comenzile de pe fila Câmpuri tabel din panglică. Pentru a adăuga reguli de validare la un formular, deschideți formularul în vizualizarea Aspect și adăugați reguli pentru proprietățile controalelor individuale.
Pașii din secțiunea Adăugarea unei reguli de validare la un tabel explică modul în care adăugați reguli de validare la câmpurile unui tabel. Pașii din secțiunea Adăugarea unei reguli de validare la un control într-un formular, mai departe în acest articol, explică modul în care adăugați reguli la proprietăți în controalele individuale.
Ce se poate pune într-o regulă de validare
Regulile dvs. de validare pot conține expresii, funcții care returnează o valoare unică. Puteți utiliza o expresie pentru a efectua calcule, pentru a manipula caractere sau pentru a testa date. O expresie a regulii de validare testează data. De exemplu, o expresie poate să verifice una din seriile de valori, cum ar fi „Tokyo”, „Moscova”, „Paris” sau „Helsinki". Expresiile pot, de asemenea, să efectueze operații matematice. De exemplu, expresia <100 le impune utilizatorilor să introducă valori care sunt mai mici decât 100. Expresia ([DatăComandă] - [DatăLivrare]) calculează numărul de zile trecut între ora când a fost plasată o comandă și ora de livrare.
Pentru mai multe informații despre expresii, consultați articolul Generarea unei expresii.
Adăugarea unei reguli de validare la un tabel
Puteți să adăugați o regulă de validare a câmpurilor și/sau o regulă de validare a înregistrărilor. O regulă de validare a câmpurilor verifică ce se introduce într-un câmp și se aplică atunci când focalizarea iese din câmp. O regulă de validare a înregistrărilor verifică ce se introduce într-un câmp sau în mai multe și se aplică atunci când focalizarea iese din înregistrare. De obicei, o regulă de validare a înregistrărilor compară valorile a două sau mai multe câmpuri.
Note: Următoarele tipuri de câmpuri nu acceptă reguli de validare:
-
Numerotare automată
-
Obiect OLE
-
Atașare
-
IDReproducere
Crearea unei o reguli de validare a câmpurilor
-
Selectați câmpul pe care doriți să-l validați.
-
Pe fila Câmpuri tabel , în grupul Validare câmp , faceți clic pe Validare, apoi faceți clic pe Regulă validare câmp.
-
Utilizați Generatorul de expresii pentru a crea regula. Pentru mai multe informații privind utilizarea Generatorului de expresii, consultați articolul Utilizarea Generatorului de expresii.
Crearea unui mesaj de afișat pentru intrările de câmp care nu sunt valide
-
Selectați câmpul care necesită un mesaj pentru intrările care nu sunt valide. Câmpul ar trebui să aibă deja o regulă de validare.
-
Pe fila Câmpuri tabel , în grupul Validare câmp , faceți clic pe Validare, apoi faceți clic pe Mesaj validare câmp.
-
Introduceți un mesaj corespunzător. De exemplu, dacă regula de validare este >10, mesajul ar putea fi „Introduceți o valoare mai mică decât 10”.
Pentru câteva exemple de reguli de validare a câmpurilor și de mesaje, consultați secțiunea Referințe pentru reguli de validare.
Crearea unei o reguli de validare a înregistrărilor
-
Deschideți tabelul pentru care doriți să validați înregistrări.
-
Pe fila Câmpuri tabel , în grupul Validare câmp , faceți clic pe Validare, apoi pe Regulă de validare.
-
Utilizați Generatorul de expresii pentru a crea regula. Pentru mai multe informații privind utilizarea Generatorului de expresii, consultați articolul Utilizarea Generatorului de expresii.
Crearea unui mesaj de afișat pentru intrările din înregistrare care nu sunt valide
-
Deschideți tabelul care necesită un mesaj pentru intrările care nu sunt valide. Tabelul ar trebui să aibă deja o regulă de validare a înregistrărilor.
-
Pe fila Câmpuri tabel , în grupul Validare câmp , faceți clic pe Validare, apoi faceți clic pe Mesaj de validare.
-
Introduceți un mesaj corespunzător. De exemplu, dacă regula de validare este [DatăÎnceput]<[Dată De Sfârșit], mesajul poate fi "DataÎnceput trebuie să preceadă Data De Sfârșit".
Testarea datelor existente utilizând o nouă regulă de validare
Dacă adăugați o regulă de validare la un tabel existent, se recomandă să testați regula, pentru a vedea dacă vreo dată existentă nu este validă.
-
Deschideți tabelul pe care doriți să îl testați în Vizualizarea proiect.
Pe fila Proiectare tabel , în grupul Instrumente , faceți clic pe Testare reguli de validare.
-
Faceți clic pe Da pentru a închide mesajul de avertizare și a începe testarea.
-
Dacă vi se solicită salvarea tabelului, faceți clic pe Da.
-
Este posibil să vedeți numeroase alte mesaje de avertizare pe măsură ce continuați. Citiți instrucțiunile din fiecare mesaj, apoi faceți clic pe Da sau pe Nu, după caz, pentru a termina sau a opri testarea.
Adăugarea unei reguli de validare la un control dintr-un formular
Puteți să utilizați proprietatea Regulă de validare sau Text de validare a unui control de formular pentru a valida datele introduse în acel control și pentru a-i ajuta pe utilizatorii care introduc date ce nu sunt valide.
Sfat: În cazul în care creați un formular automat dintr-un tabel utilizând una dintre comenzile de formular din panglică, orice validare pentru câmpurile din tabelul subiacent este moștenită de controalele corespunzătoare din formular.
Un control poate avea o altă regulă de validare decât câmpul de tabel la care este legat controlul. Acest lucru este util dacă doriți ca formularul să fie mai restrictiv decât tabelul. Se aplică regula de formular, apoi regula de tabel. Dacă tabelul este mai restrictiv decât formularul, prioritară devine regula definită pentru câmpul de tabel. Dacă regulile sunt mutual exclusive, acestea vă împiedică să introduceți date.
De exemplu, să presupunem că aplicați următoarea regulă la câmp dată dintr-un tabel:
<#01/01/2010#
Dar apoi aplicați această regulă la controlul de formular legat la câmpul dată:
>=#01/01/2010#
Câmpul dată solicită acum valori anterioare anului 2010, dar controlul de formular necesită ca datele să aibă acel an sau ani ulteriori, împiedicându-vă astfel să introduceți orice date.
Crearea unei reguli de validare pentru un control
-
Faceți clic cu butonul din dreapta pe formularul pe care doriți să îl modificați, apoi faceți clic pe Vizualizare aspect.
-
Faceți clic cu butonul din dreapta pe controlul pe care doriți să-l modificați, apoi faceți clic pe Proprietăți pentru a deschide foaia de proprietăți a controlului.
-
Faceți clic pe fila Toate, apoi introduceți regula dvs. de validare în caseta de proprietăți Regulă de validare.
Sfat: Faceți clic pe butonul Generare pentru a porni Generatorul de expresii.
Pentru mai multe informații privind utilizarea Generatorului de expresii, consultați articolul Utilizarea Generatorului de expresii.
-
Introduceți un mesaj în caseta de proprietăți Text de validare.
Referințe pentru reguli de validare
Regulile de validare utilizează sintaxa de expresii Access. Pentru mai multe informații despre expresii, consultați articolul Introducere în expresii.
Exemple de reguli și text de validare
Regulă de validare |
Text de validare |
---|---|
<>0 |
Introduceți o valoare diferită de zero. |
>=0 |
Valoarea trebuie să fie zero sau mai mare. -sau- Trebuie să introduceți un număr pozitiv. |
0 sau >100 |
Valoarea trebuie să fie 0 sau mai mare decât 100. |
BETWEEN 0 AND 1 |
Introduceți o valoare cu semnul procent. (Se utilizează cu un câmp care stochează valori numerice ca procente). |
<#01/01/2007# |
Introduceți o dată anterioară anului 2007. |
>=#01/01/2007# AND <#01/01/2008# |
Data trebuie să fie în 2007. |
<Date() |
Data nașterii nu poate fi în viitor. |
StrComp(UCase([Nume]), [Nume],0) = 0 |
Datele dintr-un câmp NumeDeFamilie trebuie scrise cu majuscule. |
>=Int(Now()) |
Introduceți data de astăzi. |
M Or F |
Introduceți M pentru masculin sau F pentru feminin. |
LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org" |
Introduceți o adresă de e-mail .com, .net sau .org validă. |
[DatăCerută]<=[DatăComandă]+30 |
Introduceți o dată necesară care are loc la nu mai mult de 30 de zile după data comenzii. |
[DataDeSfârșit]>=[DataDeÎnceput] |
Introduceți o dată de sfârșit la sau după data de început. |
Exemple de sintaxă pentru operatorii comuni ai regulii de validare
Operator |
Funcție |
Exemplu |
---|---|---|
NU |
Testează dacă există valori contrare. Se utilizează înaintea oricărui operator de comparație, cu excepția IS NOT NULL. |
NOT > 10 (la fel ca <=10). |
IN |
Testează valorile egale cu membrii existenți dintr-o listă. Valoarea de comparație trebuie să fie o listă separată prin virgulă încadrată între paranteze. |
IN ("Tokyo","Paris","Moscova") |
BETWEEN |
Testează dacă există un interval de valori. Trebuie să utilizați două valori de comparare - mică și mare - și să separați acele valori cu un separator AND. |
BETWEEN 100 AND 1000 (la fel ca >=100 AND <=1000) |
LIKE |
Potrivește șirurile de modele din câmpurile Text și Memo. |
LIKE "Geo*" |
IS NOT NULL |
Le impune utilizatori să introducă valori în câmp. Acest lucru este la fel ca setarea proprietății de câmp Obligatoriu la Da. Cu toate acestea, atunci când activați proprietatea Obligatoriu, iar un utilizator nu reușește să introducă o valoare, Access afișează un mesaj de eroare oarecum neprietenos. De obicei, baza dvs. de date este mai ușor de utilizat dacă utilizați IS NOT NULL și introduceți un mesaj prietenos în proprietatea Text de validare. |
IS NOT NULL |
AND |
Specifică faptul că toate părțile regulii de validare trebuie să fie adevărate. |
>= #01/01/2007# AND <=#03/06/2008# Notă: AND se poate utiliza și pentru a combina reguli de validare. De exemplu: NOT "UK" AND LIKE "U*". |
OR |
Specifică faptul că unele părți, nu toate, ale regulii de validare trebuie să fie adevărate. |
Ianuarie OR Februarie |
< |
Mai mic decât. |
|
<= |
Mai mic sau egal cu. |
|
> |
Mai mare decât. |
|
>= |
Mai mare sau egal cu. |
|
= |
Egal cu. |
|
<> |
Nu este egal cu. |
Utilizarea metacaracterelor în regulile de validare
Puteți să utilizați metacaractere în regulile de validare. Rețineți că Access acceptă două seturi de metacaractere: ANSI-89 și ANSI-92. Fiecare dintre aceste standarde utilizează un alt set de metacaractere.
În mod implicit, toate fișierele .accdb și .mdb utilizează standardul ANSI-89.
Puteți să modificați standardul ANSI pentru o bază de date la ANSI-92, utilizând următoarea procedură:
-
Pe fila Fișier, faceți clic pe Opțiuni.
-
În caseta de dialog Opțiuni Access, faceți clic pe Designeri obiecte.
-
În secțiunea Proiectare interogare, sub Sintaxă compatibilă SQL Server (ANSI -92), selectați Această bază de date.
Pentru mai multe informații despre utilizarea metacaracterelor și despre standardele ANSI pentru SQL, consultați articolul Referințe la metacaracterele Access.