Access-työpöytätietokannoissa voit tarkistaa tai vahvistaa tietoja niitä lisätessäsi käyttämällä kelpoisuussääntöjä. Lausekkeenmuodostimen avulla voit muotoilla säännön oikein. Kelpoisuussäännöt voidaan määrittää joko taulukon rakennenäkymässä tai taulukon taulukkonäkymässä. Accessissa on kolmenlaisia kelpoisuussääntöjä:
1. Kentän kelpoisuussääntö Voit kentän kelpoisuussäännön avulla määrittää ehdon, joka kaikkien kelvollisten kenttien arvojen on täytettävä. Sinun ei tarvitse määrittää nykyistä kenttää säännön osaksi, ellet käytä kenttää funktiossa. Kenttään kirjoitettavia merkkejä voi olla helpompi rajoittaa syöttöpeitteen avulla. Esimerkiksi päivämääräkentässä voi olla kelpoisuussääntö, joka estää menneiden päivämääräarvojen käyttämisen.
Nopeita esimerkkejä:
Poista aiempien päivämäärien arvot käytöstä: >=Date()
Yleisesti hyväksytty sähköpostimuoto: Onko tyhjäarvo TAI ((kuten "*?@?*.? *") AND (Not Like "*[ ,;] *"))
Luku pienempi tai enintään viisi: <=5
Valuutta-kenttä ei voi olla negatiivinen: >=0
Merkkijonon merkkien pituuden rajoittaminen: Len([StringFieldName])<100
2. Tietueen kelpoisuussääntö Voit määrittää tietueen kelpoisuussäännön avulla ehdon, joka kaikkien kelvollisen tietueen on täytettävä. Voit vertailla eri kenttien arvoja tietueen kelpoisuussäännön avulla. Esimerkiksi tietueessa, jossa on kaksi päivämääräkenttää, voi olla ehtona, että ensimmäisen kentän arvon on aina oltava toisen kentän arvoa aiempi arvo (esimerkiksi alkamispäivä on ennen päättymispäivää).
Nopeita esimerkkejä:
Varmista, että päättymispäivä ei tule ennen alkamispäivää: [Päättymispäivä]>=[Aloituspäivä]
Anna pakollinen päivämäärä, joka on enintään 30 päivää tilauspäivän jälkeen: [RequiredDate]<=[OrderDate]+30
3. Lomakkeen kelpoisuustarkistus Lomakkeen ohjausobjektin Kelpoisuussääntö-ominaisuuden avulla voit määrittää ehdon, joka kaikkien ohjausobjektiin syötettyjen arvojen on täytettävä. Kelpoisuussääntö-ominaisuus toimii samalla tavalla kuin kentän kelpoisuussääntö. Yleensä kentän kelpoisuussäännön sijaan käytetään lomakkeen kelpoisuussääntöä, jos sääntö liittyy käyttösijainnista riippumatta vain kyseiseen lomakkeeseen, eikä taulukkoon.
Tämän artikkelin sisältö
Yleistä
Tässä artikkelissa kerrotaan, miten kelpoisuussääntöjä ja kelpoisuussäännön kuvauksia voi käyttää taulukon kentissä ja lomakkeen ohjausobjekteissa. Kelpoisuussääntö on yksi keino rajoittaa tietojen syöttöä taulukon kenttään tai lomakkeen ohjausobjektiin (kuten tekstiruutuun). Kelpoisuussäännön kuvauksen avulla voit kirjoittaa viestin käyttäjille, jotka syöttävä kenttään kelpaamatonta tietoa.
Kun tiedot on syötetty, Access tarkistaa, onko tieto kelpoisuussääntöjen mukainen – jos ei ole, tietoa ei hyväksytä, ja näyttöön tulee sanoma.
Accessissa on useita tapoja rajoittaa tietojen syöttämistä:
-
Tietotyypit Jokaiselle taulukon kentälle on määritetty tietotyyppi, joka rajaa, mitä kenttään voi kirjoittaa. Esimerkiksi päivämäärä- ja aikakenttä hyväksyy vain päivämääriä ja aikoja, ja valuuttakenttä hyväksyy vain rahamääräisiä tietoja, ja niin edelleen.
-
Kentän ominaisuudet Jotkin kentän ominaisuudet rajaavat tietojen syöttämistä. Esimerkiksi Kentän koko -ominaisuus rajoittaa tietojen syöttämistä hyväksymällä vain tietyn määrän tietoa.
Voit myös vaatia tiettyjä arvoja käyttämällä Kelpoisuussääntö-ominaisuutta, ja Kelpoisuussäännön kuvaus -ominaisuutta, kun haluat ilmoittaa käyttäjille virheistä. Jos syötät Kelpoisuussääntö-ominaisuuteen esimerkiksi säännön >100 And <1000, käyttäjien on syötettävät arvoja, jotka ovat väliltä 100 ja 1 000. Sääntö [Päättymispäivä]>=[Alkamispäivä] pakottaa käyttäjät syöttämään päättymispäivän, joka on sama tai myöhempi kuin alkamispäivä. Jos kirjoitat Kelpoisuussäännön kuvaus -ominaisuuteen esimerkiksi tekstin "Anna arvo väliltä 100 ja 1 000" tai "Anna päättymispäivä, joka on sama tai myöhempi kuin alkamispäivä", käyttäjä saa tietää, onko hän tehnyt virheen ja kuinka virhe korjataan.
-
Syöttörajoitteet Voit käyttää syöttörajoitetta tietojen kelpoisuuden tarkistamiseen ja näin pakottaa käyttäjät syöttämään tietoja tietyllä tavalla. Syöttörajoite voi esimerkiksi pakottaa käyttäjät syöttämään päivämäärät eurooppalaisessa muodossa, kuten 14.4.2007.
Voit käyttää näitä keinoja tietojen kelpoisuuden tarkistamiseen yksin tai yhdessä toistensa kanssa. Tietotyypit eivät ole valinnaisia, ja ne tarjoavat yksinkertaisimman tavan tietojen kelpoisuuden tarkistamiseen.
Lisätietoja tietotyypeistä, kentän koosta ja syöttörajoitteista on artikkelissa Johdanto tietotyyppeihin ja kenttien ominaisuuksiin.
Kelpoisuussääntöjen lajit
Voit luoda kahta peruslajia olevia kelpoisuussääntöjä:
-
Kentän kelpoisuussäännöt Kentän kelpoisuussäännön avulla voit tarkistaa kenttään syöttämäsi arvon, kun poistut kentästä. Sinulla saattaa esimerkiksi olla päivämääräkenttä, jonka Kelpoisuussääntö-ominaisuuskenttään kirjoitat >=#01/01/2010#. Sääntö vaatii käyttäjiä lisäämään päivämääriä ajalta 1. tammikuuta 2010 tai sen jälkeen. Jos käyttäjä syöttää päivämäärän ennen vuotta 2010 ja yrittää siirtää kohdistuksen toiseen kenttään, Access estää kentästä poistumisen, kunnes ongelma on korjattu.
-
Tietueen kelpoisuussäännöt Tietueen kelpoisuussäännön avulla voit hallita, milloin tietue (taulukon rivi) tallennetaan. Toisin kuin kentän kelpoisuussääntö, tietueen kelpoisuussääntö viittaa saman taulukon muihin kenttiin. Voit luoda tietueen kelpoisuussääntöjä, kun haluat tarkistaa kentän arvot toisen kentän arvojen mukaan. Yrityksesi voi esimerkiksi haluta, että tuotteet lähetetään asiakkaalle 30 päivän kuluessa, ja jos lähetystä ei tehdä tässä ajassa, osa ostohinnasta tulee palauttaa asiakkaalle. Voit luoda tietueen kelpoisuussäännön, esimerkiksi [VaadittuPäivämäärä]<=[Tilauspäivämäärä]+30 varmistaaksesi, ettei lähetyspäivää (VaadittuPäivämäärä-kentän arvoa) syötetä liian kauas tulevaisuuteen.
Jos kelpoisuussääntöjen syntaksi vaikuttaa epäselvältä, katso kohdan Kelpoisuussäännön sisältö -osiossa olevaa selitystä ja kelpoisuussääntöjen esimerkkejä.
Kelpoisuussääntöjen käyttökohteet
Voit määrittää kelpoisuussääntöjä taulukoiden kentille ja lomakkeiden ohjausobjekteille. Kun määrität sääntöjä taulukoille, säännöt koskevat tietojen tuontia. Jos haluat lisätä kelpoisuussääntöjä taulukkoon, avaa taulukko ja käytä valintanauhan Taulukkokentät-välilehden komentoja. Jos haluat lisätä kelpoisuussääntöjä lomakkeeseen, avaa lomake asettelunäkymään ja lisää sääntöjä yksittäisten ohjausobjektien ominaisuuksiin.
Kohdassa Kelpoisuussäännön lisääminen taulukkoon kerrotaan, kuinka kelpoisuussääntöjä lisätään taulukon kenttiin. Jäljempänä tässä artikkelissa kohdassa Kelpoisuussäännön lisääminen lomakkeen ohjausobjektiin kerrotaan, kuinka sääntöjä lisätään yksittäisten ohjausobjektien ominaisuuksiin.
Kelpoisuussäännön sisältö
Kelpoisuussäännöt voivat sisältää lausekkeita eli yhden arvon palauttavia funktioita. Voit suorittaa lausekkeiden avulla laskutoimituksia, käsitellä merkkejä tai testata tietoja. Kelpoisuussäännön lauseke testaa tietoja. Lausekkeella voidaan esimerkiksi tarkistaa jokin arvosarjan arvoista, kuten "Tokio" Or "Moskova" Or "Pariisi" Or "Helsinki". Lausekkeilla voidaan myös suorittaa matemaattisia laskutoimituksia. Esimerkiksi lauseke <100 pakottaa käyttäjät syöttämään arvoja, jotka ovat pienempiä kuin 100. Lauseke ([Tilauspäivä] - [Toimituspäivä]) laskee tilauspäivän ja toimituspäivän välisen ajan päivien määrän.
Lisätietoja lausekkeista on artikkelissa Lausekkeen muodostaminen.
Kelpoisuussäännön lisääminen taulukkoon
Voit lisätä kentän kelpoisuussäännön ja/tai tietueen kelpoisuussäännön. Kentän kelpoisuussääntö tarkistaa kenttään syötetyt tiedot, ja se otetaan käyttöön, kun kohdistus siirretään pois kentästä. Tietueen kelpoisuussääntö tarkistaa yhteen tai useisiin kenttiin syötetyn tiedon, ja se otetaan käyttöön, kun kohdistus siirretään pois kentästä. Yleensä tietueen kelpoisuussääntö vertaa kahden tai useamman kentän arvoja toisiinsa.
Huomautukset: Seuraavat kenttätyypit eivät tue kelpoisuussääntöjä:
-
Laskuri
-
OLE-objekti
-
Liite
-
Replikointitunnus
Kentän kelpoisuussäännön luominen
-
Valitse kenttä, jonka kelpoisuuden haluat tarkistaa.
-
Valitse Taulukon kentät -välilehden Kentän kelpoisuustarkistus -ryhmässä Kelpoisuustarkistus ja valitse sitten Kentän kelpoisuussääntö.
-
Voit luoda kelpoisuussäännön lausekkeen muodostimella. Lisätietoja lausekkeen muodostimen käyttämisestä on artikkelissa Lausekkeen muodostimen käyttäminen.
Kelpaamattomuussanoman luominen
-
Valitse kenttä, johon kelpaamattomuussanomaa tarvitaan. Kentälle pitäisi olla jo määritetty kelpoisuussääntö.
-
Valitse Taulukon kentät -välilehden Kentän kelpoisuuden tarkistaminen -ryhmässä Kelpoisuustarkistus ja valitse sitten Kentän kelpoisuuden tarkistussanoma.
-
Kirjoita sopiva viesti. Jos esimerkiksi kelpoisuussääntö on >10, viesti voi olla ”Syötä arvo, joka on pienempi kuin 10.”.
Esimerkkejä kentän kelpoisuussäännöistä ja kelpoisuuden tarkistussanomista on kohdassa Kelpoisuussääntöjen ohje.
Tietueen kelpoisuussäännön luominen
-
Avaa taulukko, jonka tietueihin haluat luoda kelpoisuussäännön.
-
Valitse Taulukon kentät -välilehden Kentän kelpoisuustarkistus -ryhmässä Kelpoisuustarkistus ja valitse sitten Kelpoisuussääntö.
-
Voit luoda kelpoisuussäännön lausekkeen muodostimella. Lisätietoja lausekkeen muodostimen käyttämisestä on artikkelissa Lausekkeen muodostimen käyttäminen.
Kelpaamattomuussanoman luominen
-
Avaa taulukko, johon kelpaamattomuussanomaa tarvitaan. Taulukolle pitäisi olla jo määritetty kelpoisuussääntö.
-
Valitse Taulukon kentät -välilehden Kentän kelpoisuustarkistus - ryhmässä Kelpoisuustarkistus ja valitse sitten Kelpoisuussanoma.
-
Kirjoita sopiva viesti. Jos kelpoisuussääntö on esimerkiksi [StartDate]<[EndDate], sanoma voi olla "Alkamispäivämäärän on oltava päättymispäivämäärän edellä".
Tarkista aiemmin luotuja tietoja uudella kelpoisuussäännöllä
Jos lisäät kelpoisuussäännön aiemmin luotuun taulukkoon, saatat haluta tarkistaa säännön avulla, ovatko aiemmin syötetyt tiedot kelvollisia.
-
Avaa rakennenäkymässä taulukko, jonka haluat tarkistaa.
Valitse Taulukon rakennenäkymä -välilehden Työkalut-ryhmästäTestaa kelpoisuussäännöt.
-
Sulje ilmoitus ja aloita testi valitsemalla Kyllä.
-
Jos ohjelma pyytää tallentamaan taulukon, valitse Kyllä.
-
Näyttöön saattaa tulla erilaisia ilmoituksia. Lue jokaisen sanoman ohjeet ja valitse sitten Kyllä tai Ei sen mukaan, haluatko tehdä testin loppuun vai lopettaa sen.
Kelpoisuussäännön lisääminen lomakkeen ohjausobjektiin
Voit käyttää lomakkeen ohjausobjektin Kelpoisuussääntö-ominaisuutta ja Kelpoisuussäännön kuvaus -ominaisuutta, jos haluat tarkistaa ohjausobjektiin syötettyjen tietojen kelpoisuuden ja ohjata käyttäjiä, jotka syöttävät kelpaamatonta tietoa.
Vihje: Jos luot lomakkeen automaattisesti taulukosta valintanauhan lomakekomennolla, pohjana olevan taulukon kenttien tarkistusasetukset otetaan käyttöön myös vastaavissa lomakkeen ohjausobjekteissa.
Muista, että ohjausobjektilla voi olla eri kelpoisuussääntö kuin sillä taulukon kentällä, johon ohjausobjekti on sidottu. Tämä on hyödyllistä, jos haluat lomakkeen olevan rajoittavampi kuin taulukon. Lomakkeen sääntöä käytetään ensin ja sen jälkeen taulukon sääntöä. Jos taulukon säännöt ovat rajoittavammat kuin lomakkeen säännöt, taulukon kentän sääntöä sovelletaan ensin. Jos säännöt ovat keskenään ristiriidassa, et voi syöttää mitään tietoja.
Oletetaan, että käytät seuraavaa sääntöä taulukon päivämääräkentässä:
<#1.1.2010#
Sen jälkeen käytät tätä sääntöä taulukon päivämääräkenttään sidotussa lomakkeen ohjausobjektissa:
>=#1.1.2010#
Päivämääräkenttään voi nyt syöttää vain arvoja, jotka ovat ennen vuotta 2010, mutta lomakkeen ohjausobjektiin voi syöttää vain kyseisen vuoden arvoja tai myöhäisemmän päivän arvoja, joten et voi syöttää tietoja ollenkaan.
Kelpoisuussäännön luominen ohjausobjektille
-
Napsauta hiiren kakkospainikkeella muutettavaa lomaketta, ja valitse sitten Asettelunäkymä.
-
Kaksoisnapsauta ohjausobjektia, jota haluat muuttaa, ja avaa sitten ohjausobjektin ominaisuusikkuna valitsemalla Ominaisuudet.
-
Valitse Kaikki-välilehti ja kirjoita kelpoisuussääntö Kelpoisuussääntö-ominaisuuden ruutuun.
Vihje: Napsauta Muodosta-painiketta, jos haluat käynnistää lausekkeenmuodostimen.
Lisätietoja lausekkeenmuodostimen käyttämisestä on artikkelissa Lausekkeenmuodostimen käyttäminen.
-
Kirjoita sanoma Kelpoisuussäännön kuvaus -ominaisuuden ruutuun.
Kelpoisuussääntöjen ohje
Kelpoisuussäännöt käyttävät Access-lausekkeiden syntaksia. Jos haluat lisätietoja lausekkeista, tutustu ohjeartikkeliin Tietoja lausekkeista.
Esimerkkejä kelpoisuussäännöistä ja kelpoisuussäännön kuvauksista
Kelpoisuussääntö: |
Kelpoisuussäännön kuvaus: |
---|---|
<>0 |
Kirjoita arvo, joka ei ole nolla. |
>=0 |
Arvon on oltava nolla tai suurempi. -tai- Anna positiivinen luku. |
0 or >100 |
Arvon on oltava joko 0 tai suurempi kuin 100. |
BETWEEN 0 AND 1 |
Kirjoita arvo, jossa on prosenttimerkki. (Käytetään sellaisissa kentissä, jotka tallentavat luvut prosentteina). |
<#1.1.2007# |
Anna päivämäärä, joka on vuotta 2007 aiempi. |
>1.1.2007# AND 1.1.2008# |
Päivämäärän vuoden on oltava 2007. |
<Date() |
Syntymäpäivä ei voi olla tulevaisuudessa oleva päivämäärä. |
StrComp(UCase([Sukunimi]), [Sukunimi],0) = 0 |
Sukunimi-kentän tietojen on oltava isoilla kirjaimilla. |
>=Int(Now()) |
Anna kuluvan päivän päivämäärä. |
M Or N |
Kirjoita M (mies) tai N (nainen). |
LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org" |
Anna kelvollinen .com-, .net- tai .org-sähköpostiosoite. |
[Tarvepäivä]<=[Tilauspäivä]+30 |
Anna tarvepäivä, joka on 30 päivän sisällä tilauspäivästä. |
[Päättymispäivä]>=[Alkamispäivä] |
Anna päättymispäivä, joka on sama tai myöhempi kuin alkamispäivä. |
Syntaksiesimerkkejä yleisistä kelpoisuussääntöjen operaattoreista
Operaattori |
Funktio |
Esimerkki |
---|---|---|
NOT |
Etsii käänteisarvoja. Käytä ennen vertailuoperaattoria lukuun ottamatta IS NOT NULL -operaattoria. |
NOT > 10 (sama kuin <=10). |
IN |
Etsii arvoja, jotka ovat samoja kuin luettelon olemassa olevat jäsenet. Vertailuarvon on oltava sulkeissa oleva pilkuilla erotettu luettelo. |
IN ("Tokio","Pariisi","Moskova") |
BETWEEN |
Etsii arvovälejä. Käytä kahta vertailuarvoa – pienin ja suurin – ja erota arvot AND-erottimella. |
BETWEEN 100 AND 1000 (sama kuin >=100 AND <=1000) |
LIKE |
Etsii mallia vastaavia merkkijonoja teksti- ja memo-kentistä. |
LIKE "Geo*" |
IS NOT NULL |
Pakottaa käyttäjät syöttämään kenttään arvoja. Tämä vastaa Arvo tarvitaan -kentän ominaisuuden Kyllä-arvoa. Jos otat käyttöön Arvo tarvitaan -ominaisuuden mutta käyttäjä ei syötä arvoa, näyttöön tulee tarkemmin määrittelemätön, käyttäjän kannalta epämääräinen virhesanoma. Yleensä tietokantaa on helpompi käyttää, jos käytät IS NOT NULL -operaattoria ja kirjoitat selkeän ja kuvaavan sanoman Kelpoisuussäännön kuvaus -ominaisuuteen. |
IS NOT NULL |
AND |
Määrittää, että kaikki kelpoisuussäännön osat pitävät paikkansa. |
>= #1.1.2007# AND <=#6.3.2008# Huomautus: AND-operaattorilla voidaan myös yhdistää kelpoisuussääntöjä. Esimerkki: NOT "UK" AND LIKE "U*". |
OR |
Määrittää, että osa, mutta ei kaikki, kelpoisuussäännön osista pitää paikkansa. |
Tammikuu OR Helmikuu |
< |
Pienempi kuin. |
|
<= |
Pienempi tai yhtä suuri kuin. |
|
> |
Suurempi kuin. |
|
>= |
Suurempi tai yhtä suuri kuin. |
|
= |
Yhtä suuri kuin. |
|
<> |
Eri suuri kuin. |
Yleismerkkien käyttäminen kelpoisuussäännöissä
Voit käyttää kelpoisuussäännöissä yleismerkkejä. Muista, että Access tukee kahta yleismerkkisarjaa: ANSI 89 ja ANSI 92. Näissä standardeissa käytetään erilaista yleismerkkien joukkoa.
Kaikki. accdb- ja .mdb-tiedostot käyttävät oletusarvoisesti ANSI 89 -standardia.
Voit muuttaa tietokannan ANSI-standardin ANSI 92 -standardiksi seuraavalla tavalla:
-
Valitse Tiedosto-välilehdestä Asetukset.
-
Valitse Accessin asetukset-valintaikkunassa Objektien suunnittelutyökalut.
-
Valitse Kyselyn rakenne -osiossa SQL Server-yhteensopiva syntaksi (ANSI 92), ja valitse Tämä tietokanta.
Lisätietoja yleismerkkien käyttämisestä ja SQL:n ANSI-standardeista on artikkelissa Accessin yleismerkkien ohje.