Lausekkeiden avulla voit käsitellä tietoja eri tavoilla. Voit esimerkiksi määrittää, miten monta päivää on kulunut tilauksen toimituksesta, tai yhdistää Etunimi-kentän ja Sukunimi-kentän KokoNimi-kentäksi. Seuraavissa osioissa kuvataan lausekkeen luominen vaiheittain.
Artikkelin sisältö
Ohjausobjektien arvojen laskeminen lomakkeissa ja raporteissa
Kun käytät lauseketta ohjausobjektin tietolähteenä, luot lasketun ohjausobjektin. Oletetaan esimerkiksi, että raportissa on useita varastotietueita ja haluat luoda raportin alatunnisteeseen summan, joka laskee yhteen kaikki raportin rivit.
Jos haluat laskea summan, sijoita raportin alatunnisteeseen tekstiruutuohjausobjekti ja aseta sen Ohjausobjektin lähde -ominaisuuden arvoksi seuraava lauseke:
=Sum([table_field])
Tässä tapauksessa table_field on välisumman arvot sisältävän kentän nimi. Kenttä voi olla taulukossa tai kyselyssä. Summa-funktio laskee table_field -joukon arvojen kokonaissumman.
TOIMINTOSARJA
-
Napsauta muutettavaa lomaketta siirtymisruudussa hiiren kakkospainikkeella ja valitse sitten pikavalikosta Rakennenäkymä tai Asettelunäkymä
-
Valitse ohjausobjekti, johon haluat kirjoittaa lausekkeen.
-
Jos ominaisuusikkuna ei ole jo näkyvissä, tuo se näkyviin painamalla F4-näppäintä.
-
Jos haluat luoda lausekkeen manuaalisesti, napsauta ominaisuusikkunan Tiedot-välilehdessä tekstiruudun OhjausobjektinLähde-ominaisuutta ja kirjoita sitten = sekä itse lauseke. Jos esimerkiksi haluat laskea edellä mainitun välisumman, kirjoita =Sum([table_field]). Muista korvata table_field kentän nimellä.
-
Jos haluat luoda lausekkeen lausekkeenmuodostimen avulla, napsauta ominaisuusruudun Muodosta-painiketta .
Kun olet kirjoittanut lausekkeen, ominaisuusikkuna näyttää tältä:
Lausekkeiden käyttäminen kyselyn ehdoissa
Voit rajata kyselyn tuloksia määrittämällä kyselyyn ehtoja. Kirjoita ehto lausekkeena, jolloin Access palauttaa vain lausekkeen ehdot täyttävät rivit.
Oletetaan, että haluat nähdä kaikki tilaukset, joiden toimituspäivä oli vuoden 2017 kolmen ensimmäisen kuukauden aikana. Lisää ehdot kirjoittamalla seuraava lauseke kyselyn päivämäärä- ja aikasarakkeen Ehdot-soluun. Tässä esimerkissä käytetään Toimituspäivä-nimistä päivämäärä- ja aikasaraketta. Määritä päivämääräväli kirjoittamalla ehdot seuraavasti:
Between #1/1/2017# And #3/31/2017#
Toimituspäivä-sarake näyttää samankaltaiselta kuin seuraavassa kuvassa:
Jokainen Tilaukset-taulukon rivi, jonka Toimituspäivä-sarakkeen arvo on määrittämälläsi päivämäärävälillä, otetaan mukaan kyselyn tulokseen. Huomaa, että päivämäärät kirjoitetaan ruutumerkkien (#) väliin. Access käsittelee ruutumerkkien välissä olevaa arvoa Pvm./klo-tyyppisenä arvona. Kun arvoja käsitellään päivämäärä- ja aikatietoina, niillä voidaan suorittaa laskutoimituksia, esimerkiksi vähentää yksi päivämäärä toisesta.
TOIMINTOSARJA
-
Napsauta muutettavaa kyselyä siirtymisruudussa hiiren kakkospainikkeella ja valitse sitten pikavalikosta Rakennenäkymä.
-
Napsauta sen sarakkeen Ehdot-solua, jolle haluat kirjoittaa ehdot.
-
Jos haluat luoda lausekkeen manuaalisesti, kirjoita ehtolauseke. Älä kirjoita ehtolausekkeen eteen =-operaattoria.
-
Jos haluat luoda lausekkeen lausekkeenmuodostimella, valitse Rakenne-välilehden Kyselyn määritys -ryhmässä Muodostin .
Jos tarvitset enemmän tilaa lausekkeen muokkaamiseen, siirrä kohdistin Ehdot-soluun ja tuo Zoomaus-valintaikkuna näkyviin painamalla VAIHTO+F2:
Vihje Voit parantaa tekstin luettavuutta valitsemalla Fontti.
Lasketun kentän luominen kyselyyn
Oletetaan, että suunnittelet kyselyä ja haluat kyselyn näyttävän sellaisen laskutoimituksen tuloksen, joka sisältää muita kyselyn kenttiä. Voit luoda lasketun kentän sijoittamalla lausekkeen kyselyn Kenttä-rivin tyhjään soluun. Jos kyselyssä on esimerkiksi Määrä- ja Yksikköhinta-kenttä, voit kertoa niiden arvot ja luoda lasketun Kokonaishinta-kentän kirjoittamalla kyselyn Kenttä-riville seuraavan lausekkeen:
Extended Price: [Quantity] * [Unit Price]
Kun kirjoitat lausekkeen eteen tekstin Extended Price:, uuden sarakkeen nimeksi tulee Kokonaishinta. Tätä nimeä kutsutaan usein aliakseksi. Jos et määritä aliasta, Access luo sellaisen, esimerkiksi nimen Expr1.
Kun suoritat kyselyn, Access suorittaa kunkin rivin laskutoimituksen seuraavassa kuvassa näkyvällä tavalla:
TOIMINTOSARJA
-
Napsauta muutettavaa kyselyä siirtymisruudussa hiiren kakkospainikkeella ja valitse sitten pikavalikosta Rakennenäkymä.
-
Napsauta Kenttä-solua sarakkeessa, johon haluat luoda lasketun kentän.
-
Jos haluat luoda lausekkeen manuaalisesti, kirjoita lauseke.
Älä kirjoita ehtolausekkeen eteen = -operaattoria, vaan aloita lauseke kuvaavalla nimellä, jonka perässä on kaksoispiste. Kirjoita esimerkiksi Extended Price:, jos haluat luoda nimen lausekkeelle, joka luo lasketun kentän nimeltä Kokonaishinta. Kirjoita sitten lausekkeen ehdot kaksoispisteen jälkeen.
-
Jos haluat luoda lausekkeen lausekkeenmuodostimella, valitse Rakenne-välilehden Kyselyn määritys -ryhmässä Muodostin.
Lasketun kentän luominen taulukkoon
Accessissa voit luoda taulukkoon lasketun kentän. Silloin laskutoimituksia varten ei tarvitse luoda erillistä kyselyä. Jos taulukossa tilauksen kunkin kohteen määrä, hinta ja veroprosentti, voit lisätä kokonaishinnan sisältävän lasketun kentän seuraavasti:
[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))
Laskutoimitus ei voi sisältää muiden taulukoiden kenttiä eikä kyselyjä, ja laskennan tulokset ovat vain luku -tilassa.
TOIMINTOSARJA
-
Avaa taulukko kaksoisnapsauttamalla sitä siirtymisruudussa.
-
Siirry taulukon oikeanpuolimmaiseen sarakkeeseen ja napsauta Lisää napsauttamalla -sarakeotsikkoa.
-
Valitse näkyviin tulevasta luettelosta Laskettu kenttä ja valitse tuloksen tietotyyppi. Access tuo lausekkeenmuodostimen näkyviin.
-
Kirjoita kenttään haluamasi lauseke, kuten
[Quantity] * [Unit Price]
Älä aloita lasketun kentän lauseketta yhtäläisyysmerkillä (=).
-
Valitse OK.
Access lisää lasketun kentän ja korostaa sitten kentän otsikon, johon voit kirjoittaa kentän nimen.
-
Kirjoita lasketun kentän nimi ja paina sitten ENTER-näppäintä.
Taulukon kenttien oletusarvojen määrittäminen
Voit määrittää taulukon kenttään oletusarvon lausekkeen avulla. Access käyttää tätä arvoa uusissa tietueissa, jos muuta arvoa ei anneta. Oletetaan esimerkiksi, että haluat, että päivämäärä ja aika tulevat automaattisesti näkyviin Tilauspäivä-nimiseen kenttään aina, kun joku lisää uuden tietueen. Tee se käyttämällä esimerkiksi seuraavaa lauseketta:
Now()
TOIMINTOSARJA
-
Kaksoisnapsauta siirtymisruudussa taulukkoa, jota haluat muuttaa.
Access avaa taulukon taulukkonäkymään.
-
Valitse muutettava kenttä.
-
Valitse valintanauhassa Taulukon kentät ja valitse Ominaisuudet-ryhmästäOletusarvo. Access tuo lausekkeenmuodostimen näkyviin.
-
Kirjoita lauseke ruutuun ja varmista, että lausekkeen alussa on yhtäläisyysmerkki (=).
Huomautus Jos sidot ohjausobjektin taulukon kenttään ja sekä ohjausobjektilla että kentällä on oletusarvo, ohjausobjektin oletusarvo on ensisijainen taulukon kentän oletusarvoon nähden.
Ohjausobjektien oletusarvojen määrittäminen
Toinen paikka, jossa lauseketta usein käytetään, on ohjausobjektin Oletusarvo-ominaisuus. Ohjausobjektin Oletusarvo-ominaisuus toimii samoin kuin taulukon kentän Oletusarvo-ominaisuus. Jos haluat esimerkiksi kirjoittaa kuluvan päivän päivämäärän tekstiruudun oletusarvoksi, voit käyttää seuraavanlaista lauseketta:
Date()
Tämä lauseke palauttaa kuluvan päivän päivämäärän, mutta ei aikaa, käyttämällä Date-funktiota. Jos sidot tekstiruudun taulukon kenttään ja kentällä on oletusarvo, ohjausobjektin oletusarvo on etusijalla. Usein kannattaa määrittää Oletusarvo-ominaisuus taulukon kentälle. Silloin samaa oletusarvoa käytetään aina, vaikka samaa taulukon kenttää käytettäisiin usean lomakkeen eri ohjausobjekteissa, mikä auttaa säilyttämään syötettyjen tietojen yhdenmukaisuuden eri lomakkeissa.
TOIMINTOSARJA
-
Napsauta muutettavaa lomaketta tai raporttia siirtymisruudussa hiiren kakkospainikkeella ja valitse sitten pikavalikosta Rakennenäkymä tai Asettelunäkymä
-
Valitse muutettava ohjausobjekti.
-
Jos ominaisuusikkuna ei ole vielä näytössä, tuo se näyttöön painamalla F4-näppäintä.
-
Valitse ominaisuusikkunan Kaikki-välilehti ja napsauta sitten Oletusarvo-ominaisuusruutua.
-
Kirjoita lauseke tai luo lauseke lausekkeenmuodostimen avulla napsauttamalla ominaisuusruudun Muodosta-painiketta .
Kelpoisuussäännön lisääminen taulukon kenttään tai tietueeseen
Lausekkeiden avulla voi kätevästi tarkistaa tietokantaan lisättävien tietojen kelpoisuuden ja estää virheellisten tietojen lisäämisen. Taulukoissa voi olla kahdenlaisia kelpoisuusääntöjä: kenttien kelpoisuussääntöjä (jotka estävät käyttäjiä kirjoittamasta virheellisiä tietoja yksittäisiin kenttiin) ja tietueen kelpoisuussääntöjä (jotka estävät käyttäjiä luomasta tietueita, jotka eivät ole määritetyn kelpoisuussäännön mukaisia). Molemmat kelpoisuussäännöt luodaan lausekkeilla.
Oletetaan esimerkiksi, että sinulla on Varasto-niminen taulukko, jossa on kenttä nimeltä Yksiköitä varastossa. Haluat määrittää säännön, joka pakottaa käyttäjät syöttämään kenttään arvon, joka on suurempi tai yhtä suuri kuin nolla. Toisin sanoen yksiköiden lukumäärä ei voi koskaan olla negatiivinen. Voit tehdä tämän käyttämällä seuraavaa lauseketta kentän kelpoisuussääntönä Yksiköitä varastossa -kentässä:
>=0
TOIMENPIDE: Kentän tai tietueen kelpoisuussäännön antaminen
-
Kaksoisnapsauta siirtymisruudussa taulukkoa, jota haluat käyttää. Access avaa taulukon taulukkonäkymään.
-
Jos kyseessä on kentän kelpoisuussääntö, valitse kenttä, jota haluat muuttaa.
-
Valitse valintanauhassa Taulukon kentät, valitse Kentän kelpoisuustarkistus -ryhmästä Kelpoisuustarkistus ja valitse sitten Kentän kelpoisuussääntö tai Kelpoisuussääntö. Access tuo lausekkeenmuodostimen näkyviin.
-
Aloita haluamasi ehdon kirjoittaminen. Jos esimerkiksi haluat kirjoittaa kelpoisuussäännön, joka edellyttää, että kaikkien arvojen on oltava suurempia tai yhtä suuria kuin nolla, kirjoita seuraava lauseke:
>=0
Älä kirjoita lausekkeen eteen yhtäläisyysmerkkiä (=).
Kelpoisuussääntölausekkeet ovat ehtolausekkeita, eli ne ovat joko True tai False riippumatta siitä, mikä arvo kenttään syötetään. Arvon kelpoisuussäännön on oltava True, tai Access ei tallenna tietoja ja näyttää kelpoisuutta koskevan virheilmoituksen. Jos esimerkiksi tässä esimerkissä Yksiköitä varastossa -kenttään syötetään arvo, joka on pienempi kuin nolla, kelpoisuusarvo on False eikä Access hyväksy arvoa. Jos et ole kirjoittanut seuraavassa osassa kuvailtua tarkistussanomaa, näyttöön tulee Accessin oma sanoma, jossa ilmoitetaan, että kentän kelpoisuussääntö on estänyt syöttämäsi arvon.
TOIMENPIDE: Tarkistussanoman kirjoittaminen
Jotta tietokantaasi olisi helpompi käyttää, voit luoda mukautettuja kelpoisuusviestejä. Ne korvaavat yleiset sanomat, joita Access näyttää, kun tiedot eivät vastaa kelpoisuussääntöjä. Mukautettujen kelpoisuusviestien avulla voit auttaa käyttäjää tarkemmin tietojen korjaamisessa. Voit esimerkiksi luoda viestin, jossa lukee “Yksiköitä varastossa -kenttään ei voi syöttää negatiivista lukua”.
-
Kaksoisnapsauta siirtymisruudussa taulukkoa, jota haluat muuttaa.
Access avaa taulukon taulukkonäkymään.
-
Jos kyseessä on kentän tarkistussanoma, valitse kenttä, johon lisäsit kelpoisuussäännön.
-
Valitse valintanauhassa Taulukon kentät, valitse Kentän kelpoisuuden tarkistaminen -ryhmästä Kelpoisuustarkistus ja valitse sitten Kentän kelpoisuustarkistussanoma tai Kelpoisuustarkistussanoma.
-
Kirjoita Vahvistussanoman määrittäminen -valintaikkunaan sanoma, jonka haluat tulevan näkyviin, kun tiedot eivät vastaa kelpoisuussääntöä, ja valitse sitten OK.
Kelpoisuussäännön lisääminen ohjausobjektiin
Ohjausobjekteilla on taulukkokenttien ja tietueiden lisäksi myös Kelpoisuussääntö-ominaisuus, johon voi syöttää lausekkeen. Oletetaan esimerkiksi, että annat raportin päivämäärävälin lomakkeella ja haluat varmistaa, että alkamispäivä ei ole aiempi kuin 1.1.2017. Voit määrittää Kelpoisuussääntö - ja Kelpoisuusteksti-ominaisuudet tekstiruudulle, johon kirjoitat alkamispäivämäärän, seuraavasti:
Ominaisuus |
Asetus |
---|---|
Kelpoisuussääntö |
>=#1.1.2017# |
Kelpoisuussäännön kuvaus |
Päivämäärää, joka on aiempi kuin 1.1.2017, ei voi kirjoittaa. |
Jos yrität kirjoittaa päivämäärän, joka on aiempi kuin 1.1.2017, näyttöön tulee sanoma, joka näyttää tekstin Kelpoisuussäännön teksti - ominaisuudessa. Jos Kelpoisuussäännön teksti -ominaisuusruutuun ei ole kirjoitettu tekstiä, Access näyttää yleisen viestin. Kun valitset OK, Access tuo tekstiruudun takaisin näkyviin.
Jos taulukon kentälle määritetään kelpoisuussääntö, se tulee käyttöön koko tietokannassa riippumatta siitä, missä kenttää muokataan. Jos kelpoisuussääntö määritetään lomakkeen ohjausobjektille, kelpoisuussääntö on käytössä vain, kun lomaketta käytetään. Sääntöjen määrittäminen erikseen taulukon kentille ja lomakkeiden ohjausobjekteille voi olla hyödyllistä, jos haluat käyttää erilaisia kelpoisuussääntöjä eri käyttäjille.
TOIMINTOSARJA
-
Napsauta muutettavaa lomaketta tai raporttia siirtymisruudussa hiiren kakkospainikkeella ja valitse sitten pikavalikosta Rakennenäkymä tai Asettelunäkymä
-
Napsauta hiiren kakkospainikkeella ohjausobjektia, jota haluat muuttaa, ja valitse pikavalikosta Ominaisuudet. Näyttöön tulee ohjausobjektin ominaisuusikkuna.
-
Valitse Kaikki-välilehti ja napsauta sitten Kelpoisuussääntö-ominaisuuden ruutua.
-
Kirjoita lauseke tai luo lauseke lausekkeenmuodostimen avulla napsauttamalla ominaisuusruudun Muodosta-painiketta .
Älä kirjoita lausekkeen eteen =-operaattoria.
-
Jos haluat muuttaa tekstiä, joka tulee näkyviin, kun käyttäjän kirjoittamat tiedot eivät ole kelpoisuussäännön mukaisia, kirjoita haluamasi teksti Kelpoisuussäännön kuvaus -ominaisuuteen.
Raportin tietojen ryhmitteleminen ja lajitteleminen
Raportin tietojen ryhmittelytasot ja lajittelujärjestykset määritetään käyttämällä Ryhmittely, lajittelu ja summa -ruutua. Tavallisesti lajiteltavat tai ryhmiteltävät kentät valitaan luettelosta. Jos kuitenkin haluat ryhmitellä tai lajitella tietoja lasketun arvon perusteella, voit kirjoittaa sen sijaan lausekkeen.
Ryhmittelyssä yhdistetään sarakkeita, joissa on samat arvot. Oletetaan, että tietokannassa on haaraliikkeiden myyntitiedot eri kaupungeista ja yksi tietokannan raporteista on nimeltään ”Myynti kaupungeittain”. Kysely, joka noutaa raportin tiedot, ryhmittelee tiedot kaupungin mukaan. Tällainen ryhmittely saattaa helpottaa tietojen lukemista ja ymmärtämistä.
Lajittelu sitä vastoin tarkoittaa kyselyn tulosten rivien (tietueiden) järjestyksen määrittämistä. Voit esimerkiksi lajitella tietueet perusavaimen arvojen mukaan (tai jonkin toisen kentän arvojoukon mukaan) joko nousevaan tai laskevaan järjestykseen tai voit lajitella ne yhden tai usean merkin mukaan määritettyyn järjestykseen, esimerkiksi aakkosjärjestykseen.
TOIMENPIDE: Ryhmittelyn ja lajittelun lisääminen raporttiin
-
Napsauta muutettavaa raporttia siirtymisruudussa hiiren kakkospainikkeella ja valitse sitten pikavalikosta Rakennenäkymä tai Asettelunäkymä
-
Valitse valintanauhassa Raportin rakennenäkymä ja valitse Ryhmittely & summat -ryhmässä Ryhmittele & Lajittele. Ryhmittely, lajittelu ja summa -ruutu näkyy raportin alapuolella.
-
Jos haluat lisätä raporttiin ryhmittelytason, valitse Lisää ryhmä.
-
Jos haluat lisätä raporttiin lajittelujärjestyksen, valitse Lisää lajittelu.
Ruutuun tulee uusi ryhmä tai lajittelujärjestys ja niiden kenttien luettelo, joista raportit tiedot saadaan. Seuraavassa kuvassa on tyypillinen uusi ryhmittelytaso (ryhmittely luokan mukaan) ja lajittelujärjestys (lajittelu valmistajan mukaan) sekä käytettävissä olevat kentät sisältävä luettelo:
-
Käynnistä lausekkeenmuodostin. valitsemalla käytettävissä olevien kenttien luettelosta lauseke.
-
Kirjoita haluamasi lauseke lausekkeenmuodostimen lausekeruutuun (ylempään ruutuun). Muista aloittaa lauseke yhtä suuri kuin -operaattorilla =).
TOIMENPIDE: Lausekkeen lisääminen olemassa olevaan ryhmään tai lajittelujärjestykseen
-
Napsauta muutettavaa raporttia siirtymisruudussa hiiren kakkospainikkeella ja valitse sitten pikavalikosta Rakennenäkymä tai Asettelunäkymä
-
Napsauta muutettavaa ryhmittelytasoa tai lajittelujärjestystä.
-
Napsauta Ryhmän alku -kohdan (ryhmittelytasoja varten) tai Lajitteluperuste-kohdan (lajittelujärjestyksiä varten) vieressä olevaa alanuolipainiketta. Näyttöön tulee käytettävissä olevat kentät sisältävä luettelo.
-
Käynnistä lausekkeenmuodostin valitsemalla kentät sisältävän luettelon alaosasta lauseke.
-
Kirjoita lauseke lausekkeenmuodostimen lausekeruutuun (ylempään ruutuun). Muista aloittaa lauseke yhtä suuri kuin -operaattorilla (=).
Suoritettavien makrotoimintojen määrittäminen
Joissakin tapauksissa haluat ehkä suorittaa toiminnon tai toimintojen sarjan makrossa vain, jos jokin tietty ehto on tosi. Oletetaan, että haluat ohjelman suorittavan makrotoiminnon vain, jos tekstiruudun arvo on suurempi tai yhtä suuri kuin 10. Tällöin voit määrittää ehdon makron Ehto-osaan lausekkeella.
Tässä esimerkissä oletetaan, että tekstiruudun nimi on Nimikkeet. Ehdon määrittävä lauseke on:
[Items]>=10
TOIMINTOSARJA
-
Napsauta muutettavaa makroa siirtymisruudussa hiiren kakkospainikkeella ja valitse sitten pikavalikosta Rakennenäkymä.
-
Napsauta Ehto-osaa, jota haluat muuttaa, tai lisää Toimintoluettelo-ruudusta Ehto-osa.
-
Napsauta Ehto-osan yläriviä.
-
Kirjoita ruutuun ehdollinen lauseke tai aloita lausekkeenmuodostimen käyttö napsauttamalla Muodosta-painiketta lausekeruudun vieressä.
Lausekkeen on oltava ehtolauseke, mikä tarkoittaa, että sen tulos on joko True tai False. Ehto-osan makrotoiminnot suoritetaan vain, kun ehtolausekkeen tulos on True.
Katso myös
Lausekkeenmuodostimen käyttäminen