Office
Logi sisse
Andmesisestuse piiramine valideerimisreegli abil

Andmesisestuse piiramine valideerimisreegli abil

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.

Mineviku kuupäevaväärtuste keelamine: >=Date()

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

Number, mis on väiksem kui viis või sellega võrdne: <=5

Valuutaväli ei tohi olla negatiivne: >=0

Märkide arvu piiramine stringis: 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 eri väljade väärtusi. Näiteks kahe kuupäevaväljaga kirje puhul võib olla nõutav, et ühe välja väärtused eelnevad alati teise välja väärtustele (nt alguskuupäev on varasem kui lõppkuupäev).

Kiirnäited.

Lõppkuupäev ei ole varasem kui alguskuupäev: [lõppkuupäev]>=[alguskuupäev]

Sellise nõutava kuupäeva sisestamine, mis ei ole varasem kui 30 päeva pärast tellimuse kuupäeva: [nõutav kuupäev]<=[tellimuse kuupäev]+30

Tabeli valideerimisreegel Accessi tabelikujundajas

3. Valideerimine vormil   . Vormil oleva juhtelemendi atribuudi Valideerimisreegel abil saate määrata kriteeriumi, millele kõik juhtelementi sisestatavad vää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 piirab võimalikku sisendit. Näiteks kuupäeva/kellaaja väljale saab sisestada ainult kuupäevi ja kellaaegu, valuutaväljale ainult rahalisi andmeid jne.

  • Väljaatribuudid    : mõni väljaatribuut piirab andmesisestust. Näiteks välja atribuut Välja suurus piirab sisestust andmehulga piiritlemise teel.

    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    : sisestusmaski abil saate andmeid valideerida, kui eeldate kasutajatelt teatud viisil andmete sisestamist. Sisestusmask võib näiteks kasutajatelt eeldada kuupäevade sisestamist Euroopa 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äljalt lahkudes väljale sisestatud väärtust kontrollida. Oletagem näiteks, et sisestate kuupäevavälja atribuudile Valideerimisreegel järgmise reegli: >=#01.01.2010#. See reegel eeldab nüüdsest, et kasutajad sisestaksid kuupäevi, mis vastavad 1. jaanuarile 2010 või on sellest hilisemad. Kui sisestate kuupäeva, mis on varasem kui 2010. aasta ja seejärel proovite viia fookuse teisele väljale, takistab Access teid sellelt väljalt lahkumast seni, kuni olete probleemi lahendanud.

  • 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üü Vä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üü Vä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üü Vä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üü Väljad jaotises Välja valideerimine nuppu Valideerimine ja seejärel käsku Kirje 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üü Väljad jaotises Välja valideerimine nuppu Valideerimine ja seejärel käsku Kirje valideerimissõnum.

  3. Sisestage soovitud teade. Näiteks, kui valideerimisreegel on [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üü Kujundus 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

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×