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älisumma-arvot sisältävän kentän nimi. Kenttä voi olla taulukossa tai kyselyssä. Summa-funktio laskee kaikkien -arvojen summan table_field.
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 loput lausekkeesta. Jos esimerkiksi haluat laskea yllä olevan välisumman, kirjoita=Sum([table_field]), varmista, että korvaat kentän nimen :lletable_field. - Jos haluat luoda lausekkeen lausekkeenmuodostimen avulla, napsauta ominaisuusruudussa olevaa Muodosta-painikkeen
.
Kun olet kirjoittanut lausekkeen, ominaisuusikkuna näyttää tältä:
Sivun alkuun
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ä lausekkeessa päivämäärät on liitetty ristikkomerkkeihin (#). 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ä edeltää ehtolauseketta operaattorin
=kanssa. - Jos haluat luoda lausekkeen lausekkeenmuodostimen avulla, valitse valintanauhassa Rakenne ja valitse sitten Kyselyn asetukset - ryhmässä Muodostinpainikkeen
.
Jos tarvitset enemmän tilaa lausekkeen muokkaamiseen, siirrä kohdistin Ehdot-soluun ja tuo Zoomaus-valintaikkuna näkyviin painamalla VAIHTO+F2:
Vihje Jos haluat tehdä tekstistä luettavamman, valitse Fontti.
Sivun alkuun
Lasketun kentän luominen kyselyyn
Oletetaan, että suunnittelet kyselyä ja haluat näyttää laskutoimituksen tulokset käyttämällä kyselyn muita 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]
Lausekkeen esivalmistelu tekstillä Extended Price: nimeää uuden sarakkeen Laajennettu hinta. Tätä nimeä kutsutaan usein aliakseksi. Jos et anna aliasta, Access luo sellaisen, kuten 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ä käytä ehtolauseketta operaattorin=kanssa, vaan aloita lauseke kuvaavalla selitteellä ja kaksoispisteellä. Kirjoita esimerkiksi, jos haluat antaa selitteen lausekkeelle,Extended Price:joka luo lasketun kentän nimeltä Laajennettu hinta. Kirjoita sitten lausekkeen ehdot kaksoispisteen jälkeen. - Jos haluat luoda lausekkeen lausekkeenmuodostimella, valitse Rakenne-välilehden Kyselyn määritys -ryhmässä Muodostin.
Sivun alkuun
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. Accessnäyttää lausekkeenmuodostimen.
Kirjoita kenttään haluamasi lauseke, kuten
[Quantity] * [Unit Price]Lasketun kentän kohdalla lauseketta ei käynnistetä 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ä.
Sivun alkuun
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. Accessnäyttää lausekkeenmuodostimen.
- Kirjoita lauseke ruutuun ja varmista, että aloitat lausekkeen yhtäläisyysmerkillä (=).
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.
Sivun alkuun
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-painikkeen
.
Sivun alkuun
Kelpoisuussäännön lisääminen taulukon kenttään tai tietueeseen
Lausekkeet ovat erittäin hyödyllisiä tietojen kelpoisuuden vahvistamisessa, kun ne syötetään tietokantaan – virheellisten tietojen pitäminen poissa käytöstä. Taulukoissa on kahdenlaisia kelpoisuussääntöjä: kentän kelpoisuussääntöjä (jotka estävät käyttäjiä syöttämästä virheellisiä tietoja yhteen kenttään) ja tietueiden kelpoisuussääntöjä (jotka estävät käyttäjiä luomasta tietueita, jotka eivät täytä kelpoisuussääntöä). 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 muuttaa. 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ö. Accessnäyttää lausekkeenmuodostimen.
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äännön lausekkeet ovat totuusarvoja, mikä tarkoittaa, että ne ovat joko True tai False mitä tahansa annettua syöttöarvoa varten. Kelpoisuussäännön on oltava True arvolle, tai Access ei tallenna syötettä ja näyttää virheen ilmaisevan vahvistusviestin. Jos kirjoitat tässä esimerkissä Yksiköitä varastossa - kenttään arvon, joka on pienempi kuin nolla, kelpoisuussääntö 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.
Sivun alkuun
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-painikkeen
.
Ä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.
Sivun alkuun
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 esimerkiksi, että tietokanta sisältää myyntitietoja eri kaupunkien toimistoista ja että jokin tietokannan raporteista on nimeltään "Myynti kaupungin mukaan". Raportin tiedot sisältävä kysely ryhmittelee tiedot kaupunkiarvojen 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). Varmista, että aloitat lausekkeen yhtäläisyysoperaattorilla (
=).
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). Varmista, että aloitat lausekkeen yhtäläisyysoperaattorilla (=).
Sivun alkuun
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 lausekeruudun vieressä olevaa
.
Kirjoittamasi lausekkeen on oltava totuusarvo, eli se on joko True tai False.
Jos-lohkon makrotoiminnot suoritetaan vain, kun ehto on True.
Sivun alkuun
Katso myös
Lausekkeenmuodostimen käyttäminen