Lausekkeita voi käyttää Microsoft Accessissa monenlaisiin tehtäviin, kuten matemaattisten laskutoimitusten suorittamiseen, tekstin yhdistämiseen tai poimimiseen tai tietojen kelpoisuuden vahvistamiseen. Tässä artikkelissa on yleistietoja lausekkeista – milloin niitä käytetään, mitä niiden osat ovat ja miten niitä verrataan Microsoft Excel -kaavoihin.
Tämän artikkelin sisältö
- Yleistä lausekkeista
- Lausekkeiden käyttämistapoja
- Esimerkkejä lausekkeista
- Lausekkeiden osat
- Accessin lausekkeiden ja Excelin kaavojen vertailu
Yleistä lausekkeista
Ajattele näin: kun haluat Accessin tekevän jotakin, sinun on puhuttava sen kieltä. Oletetaan esimerkiksi, että haluat kertoa Accessille "Katso BirthDate-kenttää Asiakkaat-taulukossa ja kerro asiakkaan syntymävuosi". Voit kirjoittaa tämän lausekkeen seuraavasti:
DatePart("yyyy",[Customers]![BirthDate])
Tämä lauseke koostuu DatePart-funktiosta ja kahdesta argumenttiarvosta: "yyyy" ja [Customers]![BirthDate].
Tutkitaan tätä lauseketta tarkemmin.
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 Väli-argumentti kertoo Accessille, mikä päivämäärän osa palautetaan – tässä tapauksessa se kertoo Accessille, "yyyy" että haluat palauttaa vain palautettavan päivämäärän vuosiosan.
3 Päivämääräargumentti kertoo Accessille, mistä päivämääräarvoa etsitään – tässä tapauksessa [Customers]![BirthDate] pyytää Accessia etsimään päivämäärää Asiakkaat-taulukon Syntymäpäivä-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ä tapauksessa et-merkki (&) yhdistää kentän arvon FirstName , välilyönnin (lainausmerkkien välissä olevan välilyönnin LastName ) ja 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 nykyisen 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. |
Jotkin lausekkeet alkavat yhtäläisyysoperaattorilla (=) ja toiset eivät. Kun lasket lomakkeen tai raportin ohjausobjektin arvon, käytät operaattoria lausekkeen = käynnistämiseen. Muissa tapauksissa, kuten kun kirjoitat lausekkeen kyselyyn tai kentän tai ohjausobjektin Oletusarvo - tai Kelpoisuussääntö-ominaisuuteen , et käytä = operaattoria, ellet lisää lauseketta taulukon Teksti-kenttään. Joissakin tapauksissa, kuten kun lisäät 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
-
Toimijoiden Esimerkiksi
+(plus) tai-(miinus). - Toimintoja Esimerkiksi SUMMA tai AVG.
- Vakiot Arvot, jotka eivät muutu – kuten merkkijonot tai numerot, joita lauseke ei laske.
- Arvot Merkkijonot, kuten "Kirjoita numero 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. Harkitse esimerkiksi lauseketta =[RequiredDate]-[ShippedDate]. Tämä lauseke vähentää kentän tai ohjausobjektin ShippedDate arvon kentän tai ohjausobjektin RequiredDate arvosta. Tässä lausekkeessa molemmat RequiredDate ja ShippedDate toimivat tunnisteina.
Operaattorit
Access tukee useita operaattoreita, kuten yleisiä aritmeettisia operaattoreita, kuten +, -, * (kertolasku) ja (jako / ). Voit myös käyttää vertailuoperaattoreita, kuten < (pienempi kuin) tai > (suurempi kuin) arvojen vertailuun, tekstioperaattoreita, kuten +& tekstin ketjuttamiseen (yhdistämiseen), loogisia operaattoreita, kuten Not tosi- tai epätosiarvoja, ja And muita Accessiin liittyviä 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 nykyisen päivämäärän. Kun argumentteja ei ole, funktion sulkeet on silti lisättävä. - Toinen argumentti
"mmmm d, yyyy", joka on erotettu ensimmäisestä argumentista pilkulla, määrittää tekstimerkkijonon, joka ohjaa FORMAT-funktiota muotoilemaan palautetun päivämääräarvon. 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() se toimii argumenttina.
Vakiot
Vakio on kohde, jonka arvo ei muutu, kun Access on käynnissä.
False- Trueja -Nullvakioita käytetään usein lausekkeissa.
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 kellonaika-arvoja, kirjoita arvot ristikkomerkkeihin (#). Esimerkiksi , #3-7-17#, #7-Mar-17#ja #Mar-7-2017# ne ovat kaikki kelvollisia päivämäärä- ja kellonaika-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 taulukon kenttien nimiä (kuten
[Contacts]![First Name]), lomakkeiden tai raporttien ohjausobjekteja (kutenForms![Task List]![Description]) tai kyseisten kenttien tai ohjausobjektien ominaisuuksia (kutenForms![Task List]![Description].ColumnWidth). -
Toimijoiden Sekä Accessissa että Excelissä operaattoreita käytetään arvojen vertailuun tai yksinkertaisten laskutoimitusten suorittamiseen tiedoillesi. Esimerkkejä ovat
+(plus) tai-(miinus). - Toimintoja Sekä Accessissa että Excelissä funktioita ja argumentteja käytetään sellaisten tehtävien suorittamiseen, joita et voi tehdä pelkästään operaattoreilla. Voit esimerkiksi etsiä kentän arvojen keskiarvon tai muuntaa laskutoimituksen tuloksen 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 Sekä Accessissa että Excelissä arvoja käytetään samalla tavalla.
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ää Excel-kaavaa =C2*(1-D2) tai Access-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. Jos esimerkiksi haluat yhdistää etu- ja sukunimen yhdeksi merkkijonoksi, voit käyttää Excelin kaavaa =D3 & " " & D4 tai Access-lauseketta = [First Name] & " " & [Last Name].
Sivun alkuun
Lausekkeenmuodostimen käyttäminenLausekkeen luominenLausekkeiden syntaksin opasEsimerkkejä lausekkeista