Datu ievades ierobežošana, izmantojot validācijas kārtulas

Attiecas uz
Access pakalpojumam Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Izmantojot validācijas kārtulas, jūs varat Access datora datu bāzēs aizliegt vai validēt datus to ievadīšanas laikā. Varat izmantot izteiksmju veidotāju, lai pareizi formatētu kārtulu. Validācijas kārtulas var iestatīt tabulas noformējuma vai tabulas datu lapas skatā. Programmā Access ir trīs veidu validācijas kārtulas:

  1. Lauka validācijas kārtula . Jūs varat izmantot lauka validācijas kārtulu, lai norādītu kritēriju, kuram jāatbilst visām derīgajām lauka vērtībām. Jums nav jānorāda pašreizējais lauks kā daļa no kārtulas, ja vien šo lauku neizmantojat kādā funkcijā. Laukā ievadāmo rakstzīmju veidu ierobežojumus, iespējams, vieglāk ir izveidot ar ievades maskas palīdzību. Piemēram, datu laukā var būt validācijas kārtula, kas neļauj ievadīt pagātnes vērtības.

Ātri piemēri:

Neatļaut pagātnes datumu vērtības: >=Date()

Vispārēji pieņemams e-pasta formāts: Is Null OR ((Like "*?@?*.? *") AND (Not Like "*[ ,;]*"))

Skaitlis, <kas ir mazāks vai vienāds ar pieci: =5

Valūtas lauks nevar būt negatīvs: >=0

Ierobežot rakstzīmju skaitu virknē: Len([Virknes_lauka_nosaukums])<100

Lauka validācijas kārtula, kas parādīta Access tabulas noformētājā

  1. Ieraksta validācijas kārtula . Jūs varat izmantot ieraksta validācijas kārtulu, lai norādītu nosacījumu, kuram jāatbilst visiem derīgajiem ierakstiem. Varat salīdzināt vērtības dažādos laukos, izmantojot ierakstu validācijas kārtulu. Piemēram, ierakstā ar diviem datuma laukiem var būt nepieciešams, lai viena lauka vērtības vienmēr ir pirms otra lauka vērtības (piemēram, StartDate ir pirms EndDate).

Ātri piemēri:

Nodrošināt, lai beigu datums nebūtu pirms sākuma datuma: [Beigu datums]>=[Sākuma datums]

Ievadīt pieprasīto datumu, kas nav vēlāk kā 30 dienas pēc pasūtījuma datuma: [Pieprasītais_datums]<=[Pasūtījuma_datums]+30

Tabulas validācijas kārtula Access tabulas noformētājā.

  1. Validācija formā. Jūs varat izmantot formas vadīklas rekvizītu Validācijas kārtula , lai norādītu kritēriju, kuram jāatbilst visām attiecīgās vadīklas ievades vērtībām. Vadīklas rekvizīts Validācijas kārtula darbojas kā lauka validācijas kārtula. Parasti formas validācijas kārtulu izmanto lauka validācijas kārtulas vietā, ja kārtula attiecas tikai uz atbilstošo formu, bet ne uz tabulu neatkarīgi no tā, kur tā tika izmantota.

Šajā rakstā

Pārskats

Šajā rakstā skaidrots, kā izmantot validācijas kārtulas un validācijas tekstu tabulas laukos un formas vadīklās. Validācijas kārtula ir viens no veidiem, kā ierobežot ievadi formas tabulas laukā vai vadīklā (piemēram, tekstlodziņā). Izmantojot validācijas tekstu, jūs varat sniegt norādes, lai palīdzētu lietotājiem, kuri ievada nederīgus datus.

Ievadot datus, Access pārbauda, vai ievade nepārkāpj validācijas kārtulu. Ja kārtula netiek ievērota, ievade netiek pieņemta, un Access parāda ziņojumu.

Access nodrošina vairākus veidus, kā ierobežot ievadi:

  • Datu tipi Katram tabulas laukam ir datu tips, kas ierobežo to, ko lietotāji var ievadīt. Piemēram, lauks Datums/laiks akceptē tikai datuma un laika vērtības, savukārt lauks Valūta akceptē tikai vērtības naudas izteiksmē.
  • Lauka rekvizīti Daži lauka rekvizīti ierobežo datu ievadi. Piemēram, lauka rekvizīts Lauka lielums ierobežo ievadi, ierobežojot datu daudzumu.
    Jūs varat izmantot arī rekvizītu Validācijas kārtula, lai pieprasītu konkrētas vērtības, un rekvizītu Validācijas teksts, lai brīdinātu lietotājus par kļūdām. Piemēram, ievadot kārtulu >, piemēram, 100 un <1000rekvizītā Validācijas kārtula , lietotājiem ir jāievada vērtības no 100 līdz 1000. Piemēram, kārtula [EndDate]>=[StartDate] liek lietotājiem ievadīt beigu datumu, kas ir sākuma datums vai datums pēc tā. Rekvizītā Validācijas teksts ievadot tekstu, piemēram, "Ievadiet vērtības robežās no 100 līdz 1000" vai "Ievadiet beigu datumu, kas ir sākuma datums vai datums pēc tā", lietotājiem tiek norādīts, ka ir pieļauta kļūda un kā to labot.
  • Ievades maskas. Jūs varat izmantot ievades masku, lai validētu datus, liekot lietotājiem ievadīt datus noteiktā veidā. Piemēram, ievades maska var likt lietotājiem ievadīt datus Eiropas formātā, piemēram, 2007.04.14.

Jūs varat izmantot šīs datu validēšanas metodes atsevišķi vai kopā. Datu tipi ir obligāti, un tie nodrošina vienkāršāko datu validācijas veidu.

Papildinformāciju par datu tipiem, lauku lielumiem un ievades maskām skatiet rakstā Iepazīšanās ar datu tipiem un lauku rekvizītiem.

Validācijas kārtulu tipi

Jūs varat izveidot divus galvenos validācijas kārtulu tipus:

  • Lauka validācijas kārtulas. Izmantojiet lauka validācijas kārtulu, lai pārbaudītu laukā ievadīto vērtību, kad izejat no lauka. Piemēram, jums ir datuma lauks un jūs ievadāt >=#01/01/2010# šī lauka rekvizītā Validācijas kārtula . Kārtula tagad pieprasa lietotājiem ievadīt datumus, sākot no 2010. gada 1. janvāra. Ja ievadāt datumu pirms 2010. gada un pēc tam mēģināt novietot fokusu citā laukā, Access neļauj atstāt pašreizējo lauku, līdz esat novērsis problēmu.
  • Ieraksta validācijas kārtulas. Izmantojiet ieraksta validācijas kārtulu, lai kontrolētu, kad tiek saglabāts ieraksts (rinda tabulā). Pretēji lauka validācijas kārtulai ieraksta validācijas kārtula attiecas uz citiem laukiem tajā pašā tabulā. Jūs varat izveidot ieraksta validācijas kārtulas, ja jāpārbauda vērtības vienā laukā ar vērtībām citā. Piemēram, jūsu uzņēmumam jānodrošina, ka produkti tiek nosūtīti 30 dienu laikā un, ja produkti netiek nosūtīti noteiktajā laikā, jums jāatlīdzina pasūtītājam daļa no iepirkuma cenas. Jūs varat definēt ieraksta validācijas kārtulu, piemēram, [RequiredDate]<=[OrderDate]+30 , lai nodrošinātu, ka netiek ievadīts piegādes datums (vērtība RequiredDate laukā) pārāk tālā nākotnē.

Ja validācijas kārtulu sintakse izskatās šifrēta, skatiet sadaļu Ko var ielikt validācijas kārtulā, kurā izskaidrota sintakse un piedāvāti daži validācijas kārtulu piemēri.

Kur var izmantot validācijas kārtulas

Jūs varat definēt validācijas kārtulas tabulu laukiem un vadīklām formās. Ja definējat kārtulas tabulām, šīs kārtulas tiek izmantotas, importējot datus. Lai tabulai pievienotu validācijas kārtulas, jāatver tabula un jāizmanto lentes cilnes Tabulas lauki komandas. Lai pievienotu validācijas kārtulas formai, jāatver forma izkārtojuma skatā un jāpievieno kārtulas atsevišķu vadīklu rekvizītiem.

Sadaļā Validācijas kārtulas pievienošana tabulai izskaidrots, kā tabulas laukiem pievienot validācijas kārtulas. Šī raksta sadaļā Validācijas kārtulas pievienošana formas vadīklai izskaidrots, kā atsevišķu vadīklu rekvizītiem pievienot kārtulas.

Ko var ielikt validācijas kārtulā

Validācijas kārtulās var būt izteiksmes — funkcijas, kas atgriež vienu vērtību. Jūs varat izmantot izteiksmi, lai veiktu aprēķinus, manipulētu ar rakstzīmēm vai pārbaudītu datus. Validācijas kārtulas izteiksme pārbauda datus. Piemēram, izteiksme var pārbaudīt vienu vai vairākas vērtības, piemēram, "Tokyo" Or "Moscow" Or "Paris" Or "Helsinki". Izteiksmes var veikt arī matemātiskas darbības. Piemēram, izteiksme <100 liek lietotājiem ievadīt vērtības, kas mazākas nekā 100. Izteiksme ([OrderDate] - [ShipDate]) aprēķina dienu skaitu starp pasūtījuma veikšanas laiku un tā piegādes laiku.

Papildinformāciju par izteiksmēm skatiet rakstā Izteiksmes izveide.

Uz lapas sākumu

Validācijas kārtulas pievienošana tabulai

Jūs varat pievienot lauka validācijas kārtulu un/vai ieraksta validācijas kārtulu. Lauka validācijas kārtula pārbauda lauka ievadi un tiek lietota, ja fokuss vairs netiek vērsts uz lauku. Ieraksta validācijas kārtulas ievades pārbaudes tiek lietotas vienam vai vairākiem laukiem, ja fokuss vairs netiek vērsts uz ierakstu. Parasti ieraksta validācijas kārtula salīdzina divu vai vairāku lauku vērtības.

Piezīme

Validācijas kārtulas neatbalsta šādi lauka tipi:

  • Autom_num
  • OLE objekts
  • Pielikums
  • ReplicationID

Lauka validācijas kārtulas izveide

  1. Atlasiet lauku, kuru vēlaties validēt.
  2. Cilnes Tabulas lauki grupā Lauku validācija noklikšķiniet uz Validācija un pēc tam uz Lauka validācijas kārtula.
  3. Izmantojiet izteiksmju veidotāju, lai izveidotu kārtulu. Papildinformāciju par izteiksmju veidotāja izmantošanu skatiet rakstā Izteiksmju veidotāja izmantošana.

Ziņojuma izveide, ko parādīt, ja lauka ievade nav derīga

  1. Atlasiet lauku, kam vajadzīgs ziņojums, ja ievade nav derīga. Laukam jau jābūt ar validācijas kārtulu.
  2. Cilnes Tabulas lauki grupā Lauku validācija noklikšķiniet uz Validācija un pēc tam uz Lauka validācijas ziņojums.
  3. Ievadiet attiecīgu ziņojumu. Piemēram, ja validācijas kārtula ir >10, ziņojums var būt "Ievadiet vērtību, kas ir mazāka par 10".

Daži lauku validācijas kārtulu un ziņojumu piemēri ir atrodami sadaļā Atsauce uz validācijas kārtulu.

Ieraksta validācijas kārtulas izveide

  1. Atveriet tabulu, kuras ierakstus vēlaties validēt.
  2. Cilnes Tabulas lauki grupā Lauku validācija noklikšķiniet uz Validācija un pēc tam uz Validācijas kārtula.
  3. Izmantojiet izteiksmju veidotāju, lai izveidotu kārtulu. Papildinformāciju par izteiksmju veidotāja izmantošanu skatiet rakstā Izteiksmju veidotāja izmantošana.

Ziņojuma izveide, ko parādīt, ja ieraksta ievade nav derīga

  1. Atveriet tabulu, kam vajadzīgs ziņojums, ja ievade nav derīga. Tabulai jau jābūt ar ieraksta validācijas kārtulu.
  2. Cilnes Tabulas lauki grupā Lauku validācija noklikšķiniet uz Validācija un pēc tam uz Validācijas ziņojums.
  3. Ievadiet attiecīgu ziņojumu. Piemēram, ja validācijas kārtula ir [StartDate]<[EndDate], ziņojums var būt "StartDate ir jābūt pirms EndDate".

Uz lapas sākumu

Esošu datu pārbaude attiecībā pret jaunu validācijas kārtulu

Ja jūs pievienojat validācijas kārtulu esošai tabulai, iespējams, vēlēsities testēt kārtulu, lai noskaidrotu, vai visi esošie dati ir derīgi.

  1. Noformējuma skatā atveriet tabulu, kuru vēlaties pārbaudīt.
    Cilnes Tabulas noformējums grupā Rīki noklikšķiniet uz Pārbaudīt validācijas kārtulas.
  2. Noklikšķiniet uz , lai aizvērtu brīdinājuma ziņojumu un sāktu pārbaudi.
  3. Ja tiekat aicināts saglabāt tabulu, noklikšķiniet uz .
  4. Turpinot darbu, iespējams, redzēsit daudz citu brīdinājuma ziņojumu. Izlasiet norādījumus katrā ziņojumā un pēc tam attiecīgi noklikšķiniet uz vai , lai pabeigtu vai pārtrauktu pārbaudi.

Uz lapas sākumu

Validācijas kārtulas pievienošana formas vadīklai

Jūs varat izmantot formas vadīklas rekvizītu Validācijas kārtula un Validācijas teksts, lai validētu datus, kas tiek ievadīti attiecīgajā vadīklā, un palīdzētu lietotājiem, kuri ievada nederīgus datus.

Padoms

Ja formu izveidojat automātiski no tabulas, izmantojot kādu no lentē esošajām formas komandām, attiecīgā formas vadīkla pārmanto visu pamatā esošās tabulas validāciju.

Vadīklā var būt validācijas kārtula, kas atšķiras no tabulas lauka validācijas kārtulas, ar kuru vadīkla ir saistīta. Tas ir noderīgi, ja vēlaties, lai forma būtu ierobežojošāka nekā tabula. Vispirms tiek lietota formas kārtula un pēc tam tabulas kārtula. Ja tabula ir ierobežojošāka nekā forma, tabulai definētā kārtula attiecībā pret tabulas lauku ir primāra. Ja kārtulas ir savstarpēji izslēdzošas, tās neļauj ievadīt datus vispār.

Piemēram, pieņemsim, ka datu laukam tabulā lietojat šādu kārtulu:

<#01/01/2010#

Bet pēc tam formas vadīklai, kas piesaistīta datuma laukam, lietojat šādu kārtulu:

>=#01/01/2010#

Datuma lauks tagad pieprasa vērtības pirms 2010. gada, bet formas vadīkla liek ievadīt datumus, kas ir šajā gadā vai vēlāk, tādējādi neļaujot ievadīt nekādus datus.

Vadīklas validācijas kārtulas izveide

  1. Ar peles labo pogu noklikšķiniet uz formas, ko vēlaties mainīt, un pēc tam noklikšķiniet uz Izkārtojuma skats.

  2. Ar peles labo pogu noklikšķiniet uz vadīklas, kas jāmaina, un pēc tam noklikšķiniet uz Rekvizīti, lai atvērtu vadīklas rekvizītu lapu.

  3. Noklikšķiniet uz cilnes Visi un pēc tam rekvizīta Validācijas kārtula lodziņā ievadiet validācijas kārtulu.

    Padoms

    Noklikšķiniet uz pogas Kompilēt, lai startētu izteiksmju veidotāju.

    Papildinformāciju par izteiksmju veidotāja izmantošanu skatiet rakstā Izteiksmju veidotāja izmantošana.

  4. Rekvizīta Validācijas teksts lodziņā ievadiet ziņojumu.

Uz lapas sākumu

Atsauce uz validācijas kārtulu

Validācijas kārtulas izmanto Access izteiksmju sintaksi. Papildinformāciju par izteiksmēm skatiet rakstā Ievads par izteiksmēm.

Validācijas kārtulas un validācijas teksta piemēri

Validācijas kārtula Validācijas teksts
<>0 Ievadiet vērtību, kas nav nulle.
>=0 Vērtībai jābūt nullei vai lielākai.
- vai -
Jāievada pozitīvs skaitlis.
0 vai >100 Vērtībai jābūt vai nu 0, vai lielākai par 100.
BETWEEN 0 AND 1 Ievadiet vērtību ar procentu zīmi. (Izmantošanai laukos, kuros skaitliskas vērtības tiek glabātas kā procenti).
<#01/01/2007# Ievadiet datumu pirms 2007. gada.
>=#01/01/2007# AND <#01/01/2008# Datumam jābūt 2007. gadā.
<Datums() Dzimšanas datums nevar būt nākotnē.
StrComp(UCase([Uzvārds]),
[Uzvārds],0) = 0
Datiem laukā ar nosaukumu LastName jābūt ar lielajiem burtiem.
>=Int(Now()) Ievadiet šodienas datumu.
M Or F Vīrietim ievadiet M, sievietei — F.
LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org" Ievadiet derīgu .com, .net vai .org e-pasta adresi.
[Nepieciešamais_datums]<=[Pasūtījuma_datums]+30 Ievadiet pieprasīto datumu, kas nav vēlāk kā 30 dienas pēc pasūtījuma datuma.
[Beigu datums]>=[StartDate] Ievadiet beigu datumu, kas ir sākuma datums vai datums pēc tā.

Bieži lietotu validācijas kārtulu operatoru sintakses piemēri

Operators Funkcija Piemērs
NOT Pārbauda apgrieztās vērtības. Lietojiet pirms salīdzināšanas operatora, izņemot IS NOT NULL. NOT > 10 (tas pats, kas <=10).
ŠAJĀ VALODĀ Pārbauda vērtības, kas vienādas ar sarakstā esošajiem dalībniekiem. Salīdzinājuma vērtībai jābūt ar komatu atdalītam sarakstam, kas ielikts iekavās. IN ("Tokyo","Paris","Moscow")
BETWEEN Pārbauda vērtību diapazonu. Jāizmanto divas salīdzinājuma vērtības — maza un liela — un jāatdala šīs vērtības ar atdalītāju AND. STARP 100 UN 1000 (tas pats, kas >=100 UN <=1000)
LIKE Saskaņo piemēra virknes Text un Memo laukos. LIKE "Geo*"
IS NOT NULL Liek lietotājiem laukā ievadīt vērtības. Tas ir tāpat kā izvēloties lauka rekvizīta Obligāts iestatījumu . Tomēr, ja iespējojat rekvizītu Obligāts un lietotājs neievada vērtību, Access rāda diezgan nedraudzīgu kļūdas ziņojumu. Parasti datu bāzi ir vieglāk izmantot, ja izmantojat IS NOT NULL un rekvizītam Validācijas teksts ievadāt draudzīgu ziņojumu. IS NOT NULL
AND Norāda, ka visām validācijas kārtulas daļām jābūt patiesām. >= #01/01/2007# AND <=#03/06/2008#
Piezīme.AND var izmantot arī, lai apvienotu validācijas kārtulas. Piemēram, NOT "UK" AND LIKE "U*".
OR Norāda, ka dažām, bet ne visām validācijas kārtulas daļām jābūt patiesām. Janvāris OR Februāris
< Mazāks par.
<= Mazāks par vai vienāds ar.
> Lielāks par.
>= Lielāks par vai vienāds ar.
⁠=⁠ Vienāds ar.
<> Nav vienāds ar.

Aizstājējzīmju izmantošana validācijas kārtulās

Savās validācijas kārtulās jūs varat izmantot aizstājējzīmes. Atcerieties, ka Access atbalsta divu kopu aizstājējzīmes: ANSI-89 un ANSI-92. Katrā no šiem standartiem tiek izmantotas atšķirīgas aizstājējzīmju kopas.

Pēc noklusējuma visi. accdb un. mdb faili izmanto ANSI-89 standartu.

Jūs varat mainīt datu bāzes ANSI standartu uz ANSI-92, veicot šādas darbības:

  1. Cilnē Fails noklikšķiniet uz Opcijas.
  2. Dialoglodziņā Access opcijas noklikšķiniet uz Objektu projektētāji.
  3. Sadaļā Vaicājuma noformējums zem Ar SQL Server saderīga sintakse (ANSI-92) atlasiet Šī datu bāze.

Papildinformāciju par aizstājējzīmju izmantošanu un SQL standartu ANSI skatiet rakstā Access aizstājējzīmju atsauce.

Uz lapas sākumu