Andmesisestuse piiramine valideerimisreegli abil
Applies ToMicrosoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Accessi töölauaandmebaasidesse sisestatavaid andmeid saate kontrollida või valideerida valideerimisreeglite abil. Avaldisekoosturi abil saate reegli õigesti vormindada. Valideerimisreegleid saab määrata tabelikujunduses või tabeli andmelehevaates. Accessis on kolme tüüpi valideerimisreegleid.

1. Välja valideerimisreegel Välja valideerimisreegli   abil saate määrata kriteeriumi, millele kõik sobivad väljaväärtused peavad vastama. Praegust välja ei peaks reegli osana määrama, v.a juhul, kui kasutate välja funktsioonina.  Väljale sisestatavate märkide tüüpide piiranguid on lihtsam määrata funktsiooni Sisestusmask abil. Näiteks kuupäevaväljal võib olla valideerimisreegel, mis keelab minevikus olevad väärtused.

Kiirnäited.

Keela minevikus kuupäevaväärtused: >=Date()

Üldtunnustatud meilivorming: Is Null OR ((Like "*?@?*.? *") AND (Not Like "*[ ,;] *"))

Arv, mis on väiksem kui viis või kvartiil: <=5

Valuutaväli ei tohi olla negatiivne: >=0

Stringi märgipikkuse piiramine: Len([StringFieldName])<100

Välja valideerimisreegli kuvamine Accessi tabelikujundajas

2. Kirje valideerimisreegel Kirje valideerimisreegli   abil saate määrata tingimuse, millele kõik sobivad kirjed peavad vastama. Kirje valideerimisreegli abil saate võrrelda erinevatel väljadel asuvaid väärtusi. Kahe kuupäevaväljaga kirje näiteks võib nõuda, et ühe välja väärtused oleksid alati teise välja väärtustest eespool (nt Alguskuupäev oleks varasem kui Lõppkuupäev).

Kiirnäited.

Veenduge, et lõppkuupäev poleks varasem kui alguskuupäev: [Lõppkuupäev]>=[Alguskuupäev]

Sisestage nõutav kuupäev, mis ei ole hilisem kui 30 päeva pärast tellimiskuupäeva: [NõutavKuupäev]<=[TellimuseKuupäev]+30

Tabeli valideerimisreegel Accessi tabelikujundajas

3. Valideerimine vormil   – vormi juhtelemendi atribuudi Valideerimisreegel abil saate määrata kriteeriumi, millele kõik juhtelemendi sisendväärtused peavad vastama. Juhtelemendi atribuut Valideerimisreegel töötab nagu välja valideerimisreegel. Tavaliselt kasutatakse välja valideerimisreegli asemel vormi valideerimisreeglit siis, kui reegel kehtis olenemata kasutuskohast ainult selle vormi kohta, mitte tabeli kohta.

Selle artikli teemad

Ülevaade

Selles artiklis selgitatakse, kuidas kasutada valideerimisreegleid ja valideerimisteksti tabeliväljadel ja vormi juhtelementides. Valideerimisreegel on üks võimalus piirata sisestamist tabeliväljale või vormi juhtelementi (nt tekstiväljale). Valideerimistekst võimaldab kuvada teate, mis aitab kasutajaid, kes sisestavad sobimatuid andmeid.

Andmete sisestamisel kontrollib Access, kas sisend rikub valideerimisreeglit – kui see on nii, siis sisendit ei aktsepteerita ja Access kuvab teate.

Access pakub sisestuse piiramiseks mitmesuguseid võimalusi.

  • Andmetüübid   Igal tabeliväljal on andmetüüp, mis seab piirangud andmetele, mida kasutajad saavad sisestada. Kuupäeva- ja kellaajaväli näiteks aktsepteerib üksnes kuupäevi ja kellaaegu, valuuta väli üksnes rahalisi andmeid jne.

  • Väljaatribuudid   Osa väljaatribuute piirab andmete sisestamist. Välja atribuut Välja suurus näiteks piirab sisendit andmete hulka piirates.

    Samuti saate kindlate väärtuste nõudmiseks kasutada atribuuti Valideerimisreegel ja vigade eest hoiatamiseks atribuuti Valideerimistekst. Näiteks atribuudi Valideerimisreegel väärtuse >100 And <1000 sisestamine eeldab, et kasutajad sisestaksid väärtusi vahemikus 100–1000. Reegel [Lõppkuupäev]>=[Alguskuupäev] eeldab, et kasutajad sisestaksid lõppkuupäeva, mis on alguskuupäevaga sama või sellest hilisem. Atribuudi Valideerimistekst teksti "Sisestage väärtus vahemikus 100 kuni 1000" või "Sisestage lõppkuupäev, mis on alguskuupäevaga sama või sellest hilisem" sisestamisel kuvatakse kasutajatele sisestusvea korral tõrketeade ja selgitatakse, kuidas viga parandada.

  • Sisestusmaskid   Andmete valideerimiseks saate kasutada sisestusmaski, mis suunab kasutajad väärtusi sisestama teatud kindlal viisil. Näiteks saate sisestusmaski abil määrata, et kasutajad sisestaksid kuupäevad mingis kindlas vormingus (nt 2007.04.14).

Võite neid andmete valideerimisviise üksikult või kombinatsioonis kasutada. Andmetüübid pole valikulised, vaid on andmete valideerimise põhitüübid.

Andmetüüpide, väljasuuruste ja sisestusmaskide kohta leiate lisateavet teemast Andmetüüpide ja väljaatribuutide tutvustus.

Valideerimisreeglite tüübid

Saate luua kahte peamist tüüpi valideerimisreegleid.

  • Välja valideerimisreeglid   Välja valideerimisreegli abil saate väljale sisestatud väärtust väljalt lahkudes kontrollida. Oletagem näiteks, et teil on kuupäevaväli ja sisestate selle välja atribuudi Valideerimisreegel väärtuseks >=#01/01/2010#. Teie reegel nõuab, et kasutajad sisestaksid kuupäeva, mis pole varasem kui 1. jaanuar 2010. Kui sisestate 2010. aastast varasema kuupäeva ja proovite siis fookuse viia mõnele muule väljale, ei luba Access teil praeguselt väljalt lahkuda enne probleemi lahendamist.

  • Kirje valideerimisreeglid.   Kirje valideerimisreegli abil saate reguleerida, millal kirje (tabelirea) saab salvestada. Erinevalt välja valideerimisreeglist viitab kirje valideerimisreegel sama tabeli muudele väljadele. Kirje valideerimisreeglite abil saate ühe välja väärtusi teiste väljade väärtuste abil kontrollida. Oletagem näiteks, et teie ettevõttel on vaja tooted 30 päeva jooksul kohale saata ja kui selle aja jooksul jääb saadetis saatmata, peate osa ostuhinnast kliendile tagasi maksma. Saate tagada, et saatmiskuupäevaks (väärtus väljal Nõutav kuupäev) ei sisestataks liiga kaugesse tulevikku jäävat saatmiskuupäeva, kui määrate kirje valideerimisreegliks näiteks [NõutavKuupäev]<=[TellimuseKuupäev]+30.

Kui valideerimisreegli süntaks jääb arusaamatuks, leiate teema Milliseid valideerimisreegleid saab luua? tabelitest süntaksi selgituse ja mõne valideerimisreeglite näite.

Kus saate valideerimisreegleid kasutada?

Valideerimisreegleid saate määratleda tabeliväljade ja vormide juhtelementide jaoks. Kui määratlete reeglid tabelite jaoks, rakendatakse neid reegleid andmete importimise käigus. Tabelile valideerimisreeglite lisamiseks avage tabel ja kasutage lindimenüü Tabeliväljad käske. Vormile valideerimisreeglite lisamiseks avage vorm küljendivaates ja lisage üksikute juhtelementide atribuutidele reeglid.

Teemas Valideerimisreegli lisamine tabelisse selgitatakse, kuidas tabeliväljadele valideerimisreegleid lisada. Selle artikli hilisemas teemas Valideerimisreegli lisamine vormi juhtelemendile selgitatakse, kuidas üksikute juhtelementide atribuutidele reegleid lisada.

Milliseid valideerimisreegleid saab luua?

Valideerimisreeglid võivad sisaldada avaldisi – funktsioone, mis tagastavad üksikväärtuse. Avaldise abil saate teostada arvutusi, muuta märke või testida andmeid. Valideerimisreegli avaldisega saab andmeid testida. Avaldis saab näiteks mitme väärtuse seast ühte kontrollida (nt "Tokyo" Or "Moskva" Or "Pariis" Or "Helsingi"). Avaldiste abil saab teha ka matemaatilisi tehteid. Näiteks avaldis <100 eeldab, et kasutajad sisestaksid 100-st väiksema väärtuse. Avaldis ([TellimuseKuupäev] - [Tarnekuupäev]) arvutab, mitu päeva jäi tellimiskuupäeva ja tarnekuupäeva vahele.

Avaldiste kasutamise kohta leiate lisateavet teemast Avaldise koostamise juhised.

Lehe algusse

Valideerimisreegli lisamine tabelisse

Saate lisada välja valideerimisreegli ja/või kirje valideerimisreegli. Välja valideerimisreegel kontrollib väljale sisestatavat teksti ja see rakendatakse siis, kui fookus viiakse väljalt ära. Kirje valideerimisreegel kontrollib ühele või mitmele väljale sisestatud teksti ja see rakendatakse siis, kui fookus viiakse kirjelt ära. Tavaliselt võrdleb kirje valideerimisreegel kahe või enama välja väärtusi.

Märkused: Järgmised väljatüübid ei toeta valideerimisreegleid:

  • Automaatnumber;

  • OLE-objekt;

  • Manus;

  • PaljunduseID.

Välja valideerimisreegli loomine

  1. Valige väli, mida soovite valideerida.

  2. Klõpsake menüü Tabeliväljad jaotises Välja valideerimine nuppu Valideerimine ja seejärel käsku Välja valideerimisreegel.

  3. Looge avaldisekoosturi abil reegel. Lisateavet avaldisekoosturi kasutamise kohta leiate artiklist Avaldisekoosturi kasutamine.

Sobimatu väljasisendi puhul kuvatava teate loomine

  1. Valige väli, mille puhul tuleb sobimatu sisendi puhul kuvada teade. Väljal peaks juba olema valideerimisreegel.

  2. Klõpsake menüü Tabeliväljad jaotises Välja valideerimine nuppu Valideerimine ja seejärel käsku Välja valideerimisteade.

  3. Sisestage sobiv teade. Kui valideerimisreegel on näiteks >10, võib teade olla järgmine: „Sisestage 10-st väiksem väärtus.“

Näiteid välja valideerimisreeglitest ja -teadetest leiate teemast Valideerimisreegli üksikasjad.

Kirje valideerimisreegli loomine

  1. Avage tabel, mille kirjeid soovite valideerida.

  2. Klõpsake menüü Tabeliväljad jaotises Välja valideerimine nuppu Valideerimine ja seejärel käsku Valideerimisreegel.

  3. Looge avaldisekoosturi abil reegel. Lisateavet avaldisekoosturi kasutamise kohta leiate artiklist Avaldisekoosturi kasutamine.

Sobimatu kirjesisendi puhul kuvatava teate loomine

  1. Avage tabel, mille puhul tuleb sobimatu sisendi puhul kuvada teade. Tabelil peaks juba olema kirje valideerimisreegel.

  2. Klõpsake menüü Tabeliväljad jaotises Välja valideerimine nuppu Valideerimine ja seejärel käsku Valideerimisteade.

  3. Sisestage soovitud teade. Kui valideerimisreegel on näiteks [Alguskuupäev]<[Lõppkuupäev], võib teade olla järgmine: "Alguskuupäev peab eelnema lõppkuupäevale".

Lehe algusse

Olemasolevate andmete testimine uue valideerimisreegli suhtes

Kui lisate valideerimisreegli olemasolevasse tabelisse, on soovitatav reeglit testida, et näha, kas leidub sobimatuid andmeid.

  1. Avage testitav tabel kujundusvaates.

    Klõpsake menüü Tabelikujundus jaotises Tööriistad nuppu Testi valideerimisreegleid.

  2. Klõpsake hoiatusteate sulgemiseks nuppu Jah ja käivitage test.

  3. Kui küsitakse, kas soovite tabeli salvestada, klõpsake nuppu Jah.

  4. Edaspidi näete võib-olla ka teistsuguseid tõrketeateid. Lugege iga teate juhiseid ja seejärel klõpsake testimise lõpuleviimiseks või peatamiseks vastavalt vajadusele nuppu Jah või Ei.

Lehe algusse

Valideerimisreegli lisamine vormi juhtelemendile

Vormi juhtelemendi atribuudi Valideerimisreegel või Valideerimistekst abil saate valideerida sellesse juhtelementi sisestatavaid andmeid ja aidata sellega kasutajaid, kes sisestavad sobimatuid andmeid.

Näpunäide.:  Kui loote vormi tabelist automaatselt mõne linki vormikäsu abil, pärivad vormi vastavad juhtelemendid aluseksoleva tabeli väljade valideerimise.

Juhtelemendi valideerimisreegel võib olla teistsugune kui selle juhtelemendiga seotud tabelivälja reegel. See on kasulik juhul, kui soovite, et vorm oleks piiravam kui tabel. Rakendatakse vormireegel ja seejärel tabelireegel. Kui tabelil on rohkem piiranguid kui vormil, siis alistab tabelivälja jaoks määratletud reegel vormireegli. Kui reeglid on üksteist välistavad, takistavad need igasuguse andmesisestuse.

Oletagem näiteks, et rakendate tabeli kuupäevaväljale järgmise reegli:

<#01.01.2010#

Kuid seejärel rakendate selle reegli kuupäevaväljaga seotud vormijuhtelemendile:

>=#01.01.2010#

Kuupäevaväli eeldab nüüd aastast 2010 varasemaid väärtusi, aga vormijuhtelement eeldab, et sisestaksite selle aasta või sellest hilisema kuupäeva, tõkestades seega igasuguse andmete sisestamise.

Juhtelemendi valideerimisreegli loomine

  1. Paremklõpsake vormi, mida soovite muuta, ja seejärel klõpsake käsku Küljendivaade.

  2. Paremklõpsake juhtelementi, mida soovite muuta, ja seejärel klõpsake juhtelemendi atribuudilehe avamiseks käsku Atribuudid.

  3. Klõpsake vahekaarti Kõik ja sisestage valideerimisreegel atribuudiväljale Valideerimisreegel.

    Näpunäide.:  Klõpsake avaldisekoosturi käivitamiseks nuppu Koosta.

    Lisateavet avaldisekoosturi kasutamise kohta leiate teemast Avaldisekoosturi kasutamine.

  4. Sisestage atribuudiväljale Valideerimistekst teade.

Lehe algusse

Valideerimisreegli üksikasjad

Valideerimisreeglites kasutatakse Accessi avaldisesüntaksit. Lisateavet avaldiste kohta leiate artiklist Sissejuhatus avaldistesse.

Valideerimisreegel ja valideerimisteksti näited

Valideerimisreegel

Valideerimistekst

<>0

Sisestage nullist erinev väärtus.

>=0

Väärtus peab olema null või sellest suurem

või

peate sisestama positiivse arvu.

0 or >100

Väärtus peab olema 0 või suurem kui 100.

BETWEEN 0 AND 1

Sisestage väärtus koos protsendimärgiga. (Saab kasutada väljadel, millel on arvulised väärtused protsentidena).

<#01.01.2007#

Sisestage aastast 2007 varasem kuupäev.

>=#01.01.2007# AND <#01.01.2008#

Kuupäev peab jääma aastasse 2007.

<Date()

Sünniaeg ei saa olla tulevikus.

StrComp(UCase([Perekonnanimi]), [Perekonnanimi];0) = 0

Andmed väljal Perekonnanimi peavad olema suurtähtedes.

>=Int(Now())

Sisestage tänane kuupäev.

M Or N

Meeste tähiseks sisestage M ja naiste tähiseks N.

LIKE "[A–Z]*@[A–Z].com" OR "[A–Z]*@[A–Z].net" OR "[A–Z]*@[A–Z].org"

Sisestage kehtivad .com, .net või .org meiliaadressid.

[NõutavKuupäev]<=[TellimuseKuupäev]+30

Sisestage nõutav kuupäev, mis ei ole hilisem kui 30 päeva pärast tellimiskuupäeva.

[Lõppkuupäev]>=[Alguskuupäev]

Sisestage lõppkuupäev, mis langeb kokku alguskuupäevaga või on sellest hilisem.

Süntaksinäiteid tavalisematest valideerimisreegli tehtemärkidest

Tehtemärk

Funktsioon

Näide

NOT

Kontrollib, kas on vastupidiseid väärtusi. Kasutatakse enne võrdlusmärke, välja arvatud IS NOT NULL.

NOT > 10 (sama mis <=10).

IN

Kontrollib, kas on väärtusi, mis võrduvad mõne loendis oleva väärtusega. Väärtused, millega võrreldakse, peavad olema komadega eraldatud ja sulgudes oleva loendi liikmed.

IN ("Tokyo","Pariis","Moskva")

BETWEEN

Kontrollib väärtuste vahemikku. Võrdlemiseks peate kasutama kahte väärtust – väikseimat ja suurimat – ja need väärtused peate eraldama eraldajaga AND.

BETWEEN 100 AND 1000 (sama mis >=100 AND <=1000)

LIKE

Kattub teksti- ja memoväljade mustristringidega.

LIKE "Geo*"

IS NOT NULL

Eeldab, et kasutajad ei jätaks välja tühjaks. Tulemus on sama, mis oleks väljaatribuudi Nõutav väärtusel Jah. Kui lubate atribuudi Nõutav ja kasutajal ei õnnestu väärtust sisestada, kuvab Access suhteliselt ebasõbraliku tõrketeate. Tavaliselt on andmebaasi lihtsam kasutada, kui kasutate varianti IS NOT NULL ja sisestate atribuudile Valideerimistekst sõbraliku teate.

IS NOT NULL

AND

Määrab, et kõik valideerimisreegli osad peavad olema tõesed.

>= #01.01.2007# AND <=#03.06.2008#

Märkus.: Tingimuse AND abil saate ka valideerimisreegleid kombineerida. Näiteks: NOT "UK" AND LIKE "U*".

OR

Määrab, et mõni valideerimisreegli osa peab olema tõene.

Jaanuar OR veebruar

<

Väiksem kui.

<=

Väiksem või võrdne.

>

Suurem kui.

>=

Suurem või võrdne.

=

Võrdne.

<>

Pole võrdne.

Metamärkide kasutamine valideerimisreeglites

Valideerimisreeglites saate kasutada metamärke. Arvestage, et Access toetab kahte metamärgistikku: ANSI-89 ja ANSI-92. Mõlemad standardid kasutavad erinevat metamärgistikku.

Kõik accdb- ja mdb-failid kasutavad vaikimisi ANSI-89 standardit.

Andmebaasi ANSI standardi muutmiseks standardiks ANSI-92 tehke järgmist.

  1. Klõpsake menüü Fail nuppu Suvandid.

  2. Klõpsake dialoogiboksis Accessi suvandid suvandit Objektikujundajad.

  3. Valige jaotise Päringu kujundus alamjaotises SQL Serveriga ühilduv süntaks (ANSI 92) suvand See andmebaas.

Lisateavet metamärkide ja SQL-i ANSI-standardite kasutamise kohta vaadake artiklist Accessi metamärgid.

Lehe algusse

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.