Applies ToAccess for Microsoft 365 Access 2021 Access 2019 Access 2016 Access 2013

Lausekkeita voi käyttää Microsoft Accessissa monenlaisten tehtävien suorittamiseen, kuten matemaattisten laskutoimitusten suorittamiseen, tekstin yhdistämiseen tai poimimiseen sekä tietojen kelpoisuuden tarkistamiseen. Seuraavassa kerrotaan tärkeitä perusasioita lausekkeista — siitä milloin niitä käytetään, mistä osista ne koostuvat ja miten ne eroavat Microsoft Excelin kaavoista.

Tämän artikkelin sisältö

Yleistä lausekkeista

Ajattele näin: kun haluat Accessin tekevän jotakin, sinun on puhuttava sen kieltä. Oletetaan, että haluat pyytää Accessia katsomaan Asiakkaat-taulukon BirthDate-kenttää ja kertomaan asiakkaan syntymävuoden. Voit kirjoittaa tämän lausekkeen muodossa:

DatePart("yyyy",[Customers]![BirthDate])

Tämä lauseke koostuu DatePart-funktiosta ja kahdesta argumentin arvosta, jotka ovat: "yyyy" ja [Customers]![BirthDate].

Tutkitaan tätä lauseketta tarkemmin.

Esimerkkilauseke

1 DatePart on funktio, joka tutkii päivämäärän ja palauttaa tietyn osan. Tässä tapauksessa käytetään kahta ensimmäistä argumenttia.

2 Aikaväliargumentti kertoo Accessille, mikä päivämäärän osa palautetaan. Tässä tapauksessa "yyyy" kertoo Accessille, että haluat sen palauttavan vain vuosiosan.

3 Päivämääräargumentti kertoo Accessille, mistä päivämääräarvoa on etsittävä. Tässä tapauksessa [Customers]![BirthDate] pyytää Accessia etsimään päivämäärää Asiakkaat-taulukon BirthDate-kentästä.

Lausekkeiden käyttämistapoja

Lausekkeiden avulla voit:

  • Laskea arvoja, jotka eivät sisälly suoraan sinulla oleviin tietoihin. Voit laskea arvoja taulukoiden ja kyselyiden kentissä sekä lomakkeiden ja raporttien ohjausobjekteissa.

  • Määrittää oletusarvon kentän arvolle taikka lomakkeen tai raportin ohjausobjektille. Nämä oletusarvot ilmestyvät aina, kun avaat taulukon, lomakkeen tai raportin.

  • Luoda kelpoisuussääntöjä, joilla rajoitetaan sitä, mitä arvoja käyttäjät voivat syöttää kenttään tai ohjausobjektiin.

  • Määrittää kyselyn ehtoja, jotka rajoittavat tulokset haluttuun alijoukkoon.

Laskea arvoja

Yksi yleisimmistä tavoista käyttää Accessin lausekkeita on laskea arvoja, jotka eivät ole suoraan olemassa käsiteltävissä tiedoissa. Tällaisen laskutoimituksen tuloksena syntyvää taulukon saraketta tai kyselyä kutsutaan lasketuksi kentäksi. Voit luoda lasketun kentän, jossa yhdistyy kaksi tai useampi taulukkokenttä. Monet taulukot säilyttävät esimerkiksi etu- ja sukunimet eri kentissä. Jos haluat yhdistää etu- ja sukunimet ja näyttää ne sitten yhtenä kenttänä, voit luoda lasketun kentän taulukkoon tai kyselyyn:

[FirstName] & " " & [LastName].

Tässä kentässä et-merkki (&) yhdistää FirstName-kentän arvon, välilyönnin (lainausmerkkien välissä oleva välilyönti) ja LastName-kentän arvon.

Oletusarvon määrittäminen

Lausekkeiden avulla voit määrittää Accessissa myös oletusarvon taulukossa olevalle kentälle tai ohjausobjektille. Jos esimerkiksi haluat määrittää päivämääräkentän oletusarvoksi kuluvan päivämäärän, kirjoita kentän Oletusarvo-ominaisuusruutuun:

Date()

Kelpoisuussäännön luominen

Voit käyttää lauseketta myös kelpoisuussäännön määrittämiseen. Voit käyttää kelpoisuussääntöä esimerkiksi ohjausobjektin tai taulukon kentässä edellyttääksesi, että syötetty päivämäärä on suurempi tai yhtä suuri kuin kuluva päivämäärä. Siinä tapauksessa asetat Kelpoisuussääntö-ominaisuusruudun arvoksi:

>= Date()

Kyselyn ehtojen määrittäminen

Voit käyttää lauseketta myös kyselyn ehtojen asettamiseen. Oletetaan esimerkiksi, että haluat nähdä tiedot tuotemyynnistä tiettynä ajanjaksona toimitettujen tilausten osalta. Voit syöttää ehdot päivämääräalueen määrittämiseksi, jolloin Access palauttaa vain ehtoja vastaavat rivit. Lauseke voi näyttää esimerkiksi seuraavanlaiselta:

Between #1/1/2017# And #12/31/2017# 

Kun lisäät kyselyyn ehtoja ja sitten suoritat kyselyn, kysely palauttaa vain ne arvot, jotka vastaavat määritettyjä päivämääriä.

Esimerkkejä lausekkeista

Seuraavassa taulukossa luetellaan esimerkkejä Accessin lausekkeista ja niiden tavanomaisesta käytöstä:

Lauseke

Käyttötarkoitus

=[RequiredDate]-[ShippedDate]

Laskee raportin kahden muokkausruutuohjausobjektin (Tarvepäivä ja Toimituspäivä) päivämääräarvojen erotuksen.

Date()

Asettaa päivämäärä- ja aikakentän oletusarvoksi kuluvan päivän päivämäärän.

Between #1/1/2017# And #12/31/2017#

Käytetään syötettäessä ehtoja kyselyn päivämäärä- ja aikakenttää varten.

=[Orders Subform].Form!OrderSubtotal

Palauttaa Tilaukset-lomakkeen Tilaukset-alilomakkeen TilauksenVälisumma-ohjausobjektin arvon.

>0

Määrittää kelpoisuussäännön taulukon numeeriselle kentälle – käyttäjien on syötettävä nollaa suurempia arvoja.

Joidenkin lausekkeiden alussa on yhtä suuri kuin (=) -operaattori mutta ei kaikkien. Kun haluat laskea lomakkeen tai raportin ohjausobjektin arvon, aloita lauseke käyttämällä =-operaattoria. Esimerkiksi jos kirjoitat lausekkeen kyselyyn tai kentän tai ohjausobjektin Oletusarvo- tai Kelpoisuussääntö-ominaisuuteen, älä käytä =-operaattoria, ellet lisää lauseketta taulukon tekstikenttään. Joissakin tapauksissa, esimerkiksi lisättäessä lausekkeita kyselyihin, Access poistaa =-operaattorin automaattisesti.

Lausekkeiden osat

Lauseke koostuu useista mahdollisista osista, joita voit käyttää joko yksin tai yhdessä tuloksen tuottamiseksi. Näitä osia ovat mm:

  • Tunnisteet    Lomakkeissa tai raporteissa käytettävien taulukon kenttien tai ohjausobjektien nimet tai näiden kenttien tai ohjausobjektien ominaisuudet

  • Operaattorit    Esimerkiksi + (plus) tai - (miinus).

  • Funktiot    Esimerkiksi SUMMA tai KESKIARVO.

  • Vakiot    Arvot, jotka eivät muutu – kuten merkkijonot tai numerot, joita lauseke ei laske.

  • Arvot    Merkkijonot, kuten ”Anna arvo väliltä 1–10” tai numerot, kuten 1 254, joita käytetään toiminnoissa.

Seuraavissa osissa kuvaillaan näitä osia yksityiskohtaisemmin.

Tunnisteet

Tunniste on kentän, ominaisuuden tai ohjausobjektin nimi. Tunnistetta käytetään lausekkeessa viitattaessa kenttään, ominaisuuteen tai ohjausobjektiin liittyvään arvoon. Tarkastellaan esimerkiksi lauseketta =[RequiredDate]-[ShippedDate]. Tämä lauseke vähentää ShippedDate-kentän tai -ohjausobjektin arvon RequiredDate-kentän tai -ohjausobjektin arvosta. Tässä lausekkeessa sekä RequiredDate että ShippedDate toimii tunnisteena.

Operaattorit

Access tukee erilaisia operaattoreita, mukaan lukien aritmeettiset operaattorit, kuten +, -, *, (kertomerkki) ja / (jakomerkki). Lisäksi voit käyttää arvojen vertailemisessa vertailuoperaattoreita, kuten < (pienempi kuin) tai > (suurempi kuin), tekstien yhdistämisessä tekstioperaattoreita, kuten & ja +, tosi- ja epätosi-arvojen määrittämisessä loogisia operaattoreita, kuten Not ja And, sekä muita Accessin omia operaattoreita.

Funktiot

Funktiot ovat valmiiksi määritettyjä toimintosarjoja, joita voidaan käyttää lausekkeissa. Funktioita käytetään erilaisissa toiminnoissa, kuten laskettaessa arvoja, käsiteltäessä tekstiä ja päivämääriä sekä tehtäessä tiedoista yhteenvetoja. Esimerkiksi DATE on usein käytetty funktio, joka palauttaa kuluvan päivän päivämäärän. DATE-funktiota voidaan käyttää eri tavoilla, esimerkiksi lausekkeena, joka asettaa taulukon kentälle oletusarvon. Tällöin aina kun joku lisää uuden tietueen, kentän oletusarvoksi tulee kuluvan päivän päivämäärä.

Jotkin funktiot edellyttävät argumentteja. Argumentti on arvo, joka antaa funktiolle syötteen. Jos funktio edellyttää enemmän kuin yhden argumentin, argumentit erotetaan toisistaan pilkuilla. Tarkastellaan esimerkiksi DATE-funktiota seuraavassa esimerkkilausekkeessa:

=Format(Date(),"mmmm d, yyyy")

Tässä esimerkissä käytetään kahta argumenttia:

  • Ensimmäinen argumentti on Date()-funktio, joka palauttaa kuluvan päivämäärän. Kun argumentteja ei ole, funktion sulkeet on silti lisättävä.

  • Toinen argumentti "mmmm d, yyyy", joka erotetaan ensimmäisestä argumentista pilkulla, määrittää tekstimerkkijonon, joka kertoo FORMAT-funktiolle, miten palautettu päivämääräarvo muotoillaan. Huomaa, että tekstimerkkijono on kirjoitettava lainausmerkkeihin.

Tämä lauseke kuvaa myös sitä, että usein toisen funktion palauttamaa arvoa voidaan käyttää argumenttina toisessa funktiossa. Tässä tapauksessa Date() toimii argumenttina.

Vakiot

Vakio on kohde, jonka arvo ei muutu, kun Access on käynnissä. True-, False- ja Null-vakioita käytetään lausekkeissa usein.

Arvot

Voit käyttää lausekkeissa literaaliarvoja, kuten lukua 1 254 tai merkkijonoa ”Anna arvo väliltä 1–10”. Numeeriset arvot voivat olla numeroiden sarjoja, jotka sisältävät tarvittaessa etumerkin ja desimaalipilkun.

Kun käytät tekstimerkkijonoarvoja, kirjoita ne lainausmerkkeihin, jotta Access varmasti tulkitsee ne oikein. Joissakin tilanteissa Access lisää lainausmerkit puolestasi. Jos esimerkiksi kirjoitat tekstiä kelpoisuussäännön tai kyselyn ehtojen lausekkeeseen, Access ympäröi tekstimerkkijonot lainausmerkeillä automaattisesti.

Jos haluat käyttää päivämäärä- ja aika-arvoja, kirjoita ne ristikkomerkkien (#) väliin. Esimerkiksi #3-7-17#, #7-Mar-17# ja #Mar-7-2017# ovat kelvollisia päivämäärä- ja aika-arvoja. Kun Access havaitsee kelvollisen, #-merkkien välissä olevan päivämäärä- ja aika-arvon, se pitää arvoa automaattisesti Pvm./klo-tietotyyppinä olevana arvona.

Sivun alkuun

Accessin lausekkeiden ja Excelin kaavojen vertailu

Accessin lausekkeet muistuttavat Excelin kaavoja sikäli, että molemmissa käytetään tuloksen tuottamiseen samankaltaisia osia. Sekä Excel-kaava että Access-lauseke sisältää yhden tai useampia seuraavista:

  • Tunnisteet    Excelissä tunnisteet ovat työkirjan yksittäisten solujen tai solualueiden nimiä, kuten A1, B3:C6 tai Taul2!C32. Accessissa tunnisteet ovat taulukoiden kenttien nimiä (kuten [Contacts]![First Name]), ohjausobjekteja (kuten Forms![Task List]![Description]) tai tällaisten kenttien tai ohjausobjektien ominaisuuksia (kuten Forms![Task List]![Description].ColumnWidth).

  • Operaattorit    Operaattoreita käytetään sekä Accessissa että Excelissä arvojen vertailuun tai yksinkertaisten laskutoimitusten tekemiseen käyttäjän tiedoilla. Esimerkkejä ovat muun muassa + (plus) tai - (miinus).

  • Funktiot    Funktioita ja argumentteja käytetään sekä Accessissa että Excelissä sellaisten tehtävien suorittamiseen, joita ei ole mahdollista suorittaa vain operaattoreita käyttäen  – operaattorien avulla ei voi esimerkiksi löytää kentän arvojen keskiarvoa eikä muuntaa laskutoimituksen tulosta valuuttamuotoon. Esimerkkejä funktioista ovat SUMMA ja KESKIHAJONTA. Argumentit ovat arvoja, jotka tuovat funktioihin tietoa. Huomaa, että sekä Accessissa että Excelissä on valittavana monia funktioita mutta toisiaan vastaavat funktiot on voitu nimetä ohjelmissa eri tavoin. Esimerkiksi Excelin KESKIARVO-funktio vastaa Accessin KESKIA.-funktiota.

  • Vakiot    Vakiot ovat sekä Accessissa että Excelissä arvoja, jotka eivät muutu – esimerkiksi lukuja, joita ei lasketa lausekkeita käyttäen.

  • Arvot    Arvoja käytetään samalla tavalla sekä Accessissa että Excelissä.

Accessin lausekkeet käyttävät operaattoreita ja vakioita, jotka muistuttavat Excelissä käytettyjen kaavojen operaattoreita ja vakioita, mutta Accessin lausekkeet käyttävät erilaisia tunnisteita ja funktioita. Siinä missä Excelin kaavoja käytetään yleensä vain laskentataulukon soluissa, Accessin lausekkeita käytetään Accessissa monissa yhteyksissä ja monissa erilaisissa tehtävissä, kuten seuraavissa:

  • Laskettujen ohjausobjektien luominen lomakkeissa ja raporteissa

  • Laskettujen kenttien luominen taulukoissa ja kyselyissä

  • Ehtoina kyselyissä

  • Kenttään tai lomakkeen ohjausobjektiin syötetyn tiedon kelpoisuuden tarkistamisessa

  • Tietojen ryhmittelemiseen raporteissa

Numeeristen arvojen tai päivämäärä-/kellonaika-arvojen laskemiseen matemaattisten operaattoreiden avulla voi käyttää joko Accessin lausekkeita tai Excelin kaavoja. Jos esimerkiksi haluat laskea asiakkaalle alennushinnan, voit käyttää joko Excelin kaavaa =C2*(1-D2) tai Accessin lauseketta = [Unit Price]*(1-[Discount]).

Voit käyttää sekä Accessin lausekkeita että Excelin kaavoja myös, kun haluat yhdistellä, jakaa tai muulla tavoin käsitellä merkkijonoja käyttäen merkkijonon operaattoreita. Voit esimerkiksi yhdistää etunimen ja sukunimen yhdeksi merkkijonoksi käyttämällä Excelin kaavaa =D3 & " " & D4 tai Accessin lauseketta = [First Name] & " " & [Last Name].

Sivun alkuun

Lausekkeenmuodostimen käyttäminen

Lausekkeen luominen

Lausekkeiden syntaksin opas

Esimerkkejä lausekkeista

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.