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

Tässä artikkelissa on monia esimerkkejä lausekkeista Access. Lauseke on matemaattisten tai loogisten operaattoreiden, vakioiden, funktioiden, taulukon kenttien, ohjausobjektien ja ominaisuuksien yhdistelmä, jonka tuloksena on yksi arvo. Voit käyttää Access lausekkeita arvojen laskemiseen, tietojen kelpoisuuden vahvistamiseen ja oletusarvon määrittämiseen.

Sisältö

Lomakkeet ja raportit

Tämän osan taulukoissa on esimerkkejä lausekkeista, joilla voidaan laskea lomakkeessa tai raportissa olevan ohjausobjektin arvo. Luo laskettu ohjausobjekti kirjoittamalla lauseke ohjausobjektin OhjausobjektinLähde-ominaisuuteen, taulukon kentän tai kyselyn sijaan.

Huomautus    Voit käyttää lausekkeita lomakkeessa tai raportissa myös, kun korostat tietoja ehdollisen muotoilun avulla.

Tekstitoiminnot

Seuraavan taulukon lausekkeissa käytetään operaattoreita & (et-merkki) ja + (plusmerkki) -operaattoreita tekstimerkkijonojen yhdistämiseen, sisäisiä funktioita tekstimerkkijonon käsittelyyn tai käytetään tekstiä muulla tavalla lasketun ohjausobjektin luomiseen.

Lauseke

Tulos

="N/A"

Näyttää PUUTTUU.

=[FirstName] & " " & [LastName]

Näyttää arvot, jotka sijaitsevat taulukon kentissä nimeltä Etunimi ja Sukunimi. Tässä esimerkissä &-operaattoria käytetään Etunimi-kentän, välilyönnin (kirjoitettu lainausmerkkeihin) ja Sukunimi-kentän yhdistämiseen.

=Left([ProductName], 1)

Käyttää Vasen-funktiota TuotteenNimi-nimisen kentän tai ohjausobjektin arvon ensimmäisen merkin näyttämiseen.

=Right([AssetCode], 2)

Käyttää Oikea-funktiota KalustokohteenKoodi-nimisen kentän tai ohjausobjektin arvon kahden viimeisen merkin näyttämiseen.

=Trim([Address])

Käyttää Poista.välit-funktiota Osoite-ohjausobjektin arvon näyttämiseen ja alussa tai lopussa olevien välilyöntien poistamiseen.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

Käyttää IIf-funktiota Kaupunki- ja Postinumero-ohjausobjektien arvojen näyttämiseen, jos Alue-ohjausobjektin arvo on tyhjäarvo. Muussa tapauksessa näytetään Kaupunki-, Alue- ja Postinumero-ohjausobjektien välilyönneillä erotetut arvot.

=[City] & (" " + [Region]) & " " & [PostalCode]

Käyttää +-operaattoria ja tyhjäarvoista välitystä Kaupunki- ja Postinumero-ohjausobjektien arvojen näyttämiseen, jos Alue-kentän tai -ohjausobjektin arvo on tyhjäarvo. Muussa tapauksessa näytetään Kaupunki-, Alue- ja Postinumero-kenttien tai -ohjausobjektien välilyönneillä erotetut arvot.

Tyhjäarvoinen välitys tarkoittaa sitä, että jos lausekkeen jokin osa on tyhjäarvo, koko lauseke on tyhjäarvo. +-operaattori tukee tyhjäarvoista välitystä, mutta &-operaattori ei tue.

Sivun alkuun

Ylä- ja alatunnisteet

Voit näyttää tai tulostaa lomakkeiden tai raporttien sivunumerot käyttämällä Sivu- ja Sivut-ominaisuuksia. Sivu- ja Sivut-ominaisuudet ovat käytettävissä vain tulostuksen tai tulostuksen esikatselun aikana, joten ne eivät näy lomakkeen tai raportin ominaisuusikkunassa. Näitä ominaisuuksia käytetään yleensä sijoittamalla tekstiruutu lomakkeen tai raportin ylä- tai alatunnisteeseen ja käyttämällä sitten esimerkiksi seuraavan taulukon esimerkkien mukaista lauseketta.

Lisätietoja ylä- ja alatunnisteiden käyttämisestä lomakkeissa ja raporteissa on artikkelissa Sivunumeroiden lisääminen lomakkeeseen tai raporttiin.

Lauseke

Tulos

=[Page]

1

="Page " & [Page]

Sivu 1

="Page " & [Page] & " of " & [Pages]

Sivu 1/3

=[Page] & " of " & [Pages] & " Pages"

1/3 sivua

=[Page] & "/" & [Pages] & " Pages"

1/3 sivua

=[Country/region] & " - " & [Page]

UK – 1

=Format([Page], "000")

001

="Printed on: " & Date()

Tulostettu: 31.12.17

Sivun alkuun

Aritmeettiset operaatiot

Voit lausekkeiden avulla laskea yhteen, vähentää, kertoa ja jakaa kahden tai useamman kentän tai ohjausobjektin arvoja. Voit käyttää lausekkeita myös päivämäärien aritmeettisiin toimintoihin. Oletetaan vaikka, että sinulla on Päivämäärän ja ajan taulukon kenttä, jonka nimi on VaadittuPäivämäärä. Lauseke =[RequiredDate] - 2 palauttaa kenttään tai kenttään sidottuun ohjausobjektiin päivämäärän ja ajan arvon, joka on kaksi päivää ennen VaadittuPäivämäärä-kentän nykyisiä arvoja.

Lauseke

Tulos

=[Subtotal]+[Freight]

Välisumma- ja Rahti-kenttien tai -ohjausobjektien arvojen summa.

=[RequiredDate]-[ShippedDate]

VaadittuPäivämäärä- ja Toimituspäivämäärä-kenttien tai -ohjausobjektien päivämääräarvojen väli.

=[Price]*1.06

Hinta-kentän tai -ohjausobjektin arvon ja 1,06:n tulo (lisää 6 prosenttia hinta-arvoon).

=[Quantity]*[Price]

Määrä- ja Hinta-kenttien tai -ohjausobjektien arvojen tulo.

=[EmployeeTotal]/[CountryRegionTotal]

TyöntekijätYhteensä- ja MaaTaiAlueYhteensä-kenttien tai -ohjausobjektien arvojen osamäärä.

Huomautus    Kun käytät lausekkeessa aritmeettista operaattoria (+, -, * ja /) ja lausekkeen jokin ohjausobjekti on tyhjäarvo, koko lausekkeen tulos on tyhjäarvo. Tätä kutsutaan tyhjäarvoiseksi välitykseksi. Jos jonkin lausekkeessa käytetyn ohjausobjektin tietue on tyhjäarvo, voit välttää tyhjäarvoisen välityksen muuntamalla tyhjäarvon nollaksi käyttämällä Nz-funktiota – esimerkiksi =Nz([Subtotal])+Nz([Freight]).

Sivun alkuun

Muiden ohjausobjektien arvot

Joskus tarvitset arvon, joka sijaitsee jossakin muualla, kuten toisen lomakkeen tai raportin kentässä tai ohjausobjektissa. Voit palauttaa toisen kentän tai ohjausobjektin arvon lausekkeen avulla.

Seuraavassa taulukossa on esimerkkejä lausekkeista, joita voit käyttää lomakkeiden lasketuissa ohjausobjekteissa.

Lauseke

Tulos

=Forms![Orders]![OrderID]

Tilaukset-lomakkeen TilauksenTunnus-ohjausobjektin arvo.

=Forms![Orders]![Orders Subform].Form![OrderSubtotal]

Tilaukset-lomakkeen Tilaukset-alilomakkeen TilauksenVälisumma-ohjausobjektin arvo.

=Forms![Orders]![Orders Subform]![ProductID].Column(2)

Tilaukset-lomakkeen Tilaukset-alilomakkeen monisarakkeisen luetteloruudun eli tuotetunnuksen kolmannen sarakkeen arvo. (Huomaa, että 0 viittaa ensimmäiseen sarakkeeseen, 1 viittaa toiseen sarakkeeseen ja niin edelleen.)

=Forms![Orders]![Orders Subform]![Price] * 1.06

Tilaukset-lomakkeen Tilaukset-alilomakkeen Hinta-ohjausobjektin arvon ja 1,06:n tulo (lisää 6 prosenttia Hinta-ohjausobjektin arvoon).

=Parent![OrderID]

Nykyisen alilomakkeen päälomakkeen TilauksenTunnus-ohjausobjektin arvo.

Seuraavan taulukon lausekkeista näet joitakin tapoja käyttää laskettuja ohjausobjekteja raporteissa. Lausekkeet viittaavat raporttiominaisuuteen.

Lauseke

Tulos

=Report![Invoice]![OrderID]

Lasku-raportin TilauksenTunnus-ohjausobjektin arvo.

=Report![Summary]![Summary Subreport]![SalesTotal]

Yhteenveto-raportin Yhteenveto-aliraportin MyyntiYhteensä-ohjausobjektin arvo.

=Parent![OrderID]

Nykyisen aliraportin pääraportin TilauksenTunnus-ohjausobjektin arvo.

Sivun alkuun

Määrä, summa ja keskiarvo

Voit laskea yhden tai useamman kentän tai ohjausobjektin arvot koostefunktioksi kutsutun funktion avulla. Voit laskea esimerkiksi raportin ryhmän alatunnisteen ryhmän loppusumman tai lomakkeen rivinimikkeiden tilauksen välisumman. Voit laskea myös yhden tai useamman kentän nimikkeiden määrän tai laskea keskiarvon.

Seuraavan taulukon lausekkeista näet joitakin funktioiden käyttötapoja, kuten Keskiarvo, Määrä ja Summa.

Lauseke

Kuvaus

=Avg([Freight])

Näyttää taulukon Rahti-kentän tai -ohjausobjektin arvojen keskiarvon käyttämällä Keskiarvo-funktiota.

=Count([OrderID])

Näyttää TilauksenTunnus-ohjausobjektin tietueiden määrän käyttämällä Määrä-funktiota.

=Sum([Sales])

Näyttää Myynti-ohjausobjektin arvojen summan käyttämällä Summa-funktiota.

=Sum([Quantity]*[Price])

Näyttää Määrä- ja Hinta-ohjausobjektien arvojen tulon summan käyttämällä Summa-funktiota.

=[Sales]/Sum([Sales])*100

Näyttää myynnin prosenttiosuuden, joka määritetään jakamalla Myynti-ohjausobjektin arvo kaikkien Myynti-ohjausobjektin arvojen summalla.

Jos määrität ohjausobjektin Muoto-ominaisuudeksi Prosentti, älä lisää lausekkeeseen operaattoria *100.

Lisätietoja koostefunktioiden käyttämisestä ja kentän ja sarakkeiden arvojen summan laskemisesta saat artikkeleista Tietojen summan laskeminen käyttämällä kyselyä, Tietojen määrän laskeminen käyttämällä kyselyä, Sarakkeen summien näyttäminen taulukossa summarivin avulla ja Sarakkeen summien näyttäminen taulukossa.

Sivun alkuun

SQL-koostefunktiot

Käytä SQL- tai ryhmäkoostefunktiota, jos haluat laskea arvojen määrän tai summan valikoidusti. Ryhmä koostuu yhden tai useamman taulukon yhdestä tai useammasta kentästä tai yhden tai useamman lomakkeen tai raportin yhdestä tai useammasta ohjausobjektista. Voit esimerkiksi täsmätä taulukon kentän arvot lomakkeen ohjausobjektin arvoihin.

Lauseke

Kuvaus

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]"))

THaku-funktiota käytetään Toimittajat-taulukon YhteyshenkilönNimi-kentän arvon palauttamiseen, kun taulukon ToimittajanTunnus-kentän arvo vastaa Toimittajat-lomakkeen ToimittajanTunnus-ohjausobjektin arvoa.

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID])

THaku-funktiota käytetään Toimittajat-taulukon YhteyshenkilönNimi-kentän arvon palauttamiseen, jossa taulukon ToimittajanTunnus-kentän arvo vastaa Uudet toimittajat -lomakkeen ToimittajanTunnus-ohjausobjektin arvoa.

=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'")

TSumma-funktiota käytetään Tilaukset-taulukon Tilausmäärä-kentän arvojen summan palauttamiseen, kun Asiakastunnus on RATTC.

=DCount("[Retired]","[Assets]","[Retired]=Yes")

TLaske-funktiota käytetään Resurssit-taulukon Poistettu käytöstä -kentän (Kyllä/Ei-kentän) Kyllä-arvojen määrän palauttamiseen.

Sivun alkuun

Päivämäärätoiminnot

Päivämäärien ja kellonaikojen seuranta on tietokannan olennaista toimintaa. Voit esimerkiksi laskea, kuinka monta päivää on kulunut laskun päivämäärästä myyntireskontran selvittämiseksi. Voit muotoilla päivämäärät ja kellonajat useilla eri tavoilla seuraavan taulukon mukaisesti.

Lauseke

Kuvaus

=Date()

Päivämäärä-funktiota käytetään nykyisen päivämäärän näyttämiseen muodossa mm-dd-yy, jossa mm on kuukausi (1–12), dd on päivä (1–31) ja yy on vuosiluvun kaksi viimeistä numeroa (1980–2099).

=Format(Now(), "ww")

Muoto-funktiota käytetään nykyisen päivämäärän viikkonumeron näyttämiseen, ja ww tarkoittaa viikkoa 1–53.

=DatePart("yyyy", [OrderDate])

PäivämääräOsa-funktiota käytetään Tilauspäivämäärä-ohjausobjektin arvon nelinumeroisen vuosiluvun näyttämiseen.

=DateAdd("y", -10, [PromisedDate])

PäivämääräLisää-funktiota käytetään näyttämään päivämäärä, joka on 10 päivää ennen LuvattuPäivämäärä-ohjausobjektin arvoa.

=DateDiff("d", [OrderDate], [ShippedDate])

PäivämääräEro-funktiota käytetään näyttämään, kuinka monta päivää Tilauspäivämäärä-ohjausobjektin arvo eroaa Toimituspäivämäärä-ohjausobjektin arvosta.

=[InvoiceDate] + 30

Päivämäärien aritmeettisia toimintoja käytetään laskemaan päivämäärä, joka on 30 päivää LaskunPäivämäärä-kentän tai -ohjausobjektin päivämäärän jälkeen.

Sivun alkuun

Ehdot, joissa on vain kaksi arvoa

Seuraavan taulukon esimerkkilausekkeissa käytetään IIf-funktiota palauttamaan yhden kahdesta mahdollisesta arvosta. Voit siirtää IIf-funktiolle kolme argumenttia: Ensimmäinen argumentti on lauseke, jonka on palautettava True- tai False-arvo. Toinen argumentti on palautettava arvo, jos lauseke on tosi, ja kolmas argumentti on palautettava arvo, jos lauseke on epätosi.

Lauseke

Kuvaus

=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed")

IIf (Välitön Jos) -funktiota käytetään Tilaus vahvistettu -viestin näyttämiseen, jos Vahvistettu-ohjausobjektin arvo on Yes. Muutoin näkyy "Order Not Confirmed." -viesti.

=IIf(IsNull([Country/region]), " ", [Country])

IIf- ja IsNull-funktioita käytetään tyhjän merkkijonon näyttämiseen, jos Maa/alue-ohjausobjektin arvo on tyhjäarvo. Muussa tapauksessa Maa/alue-ohjausobjektin arvo näkyy.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

IIf- ja IsNull-funktioita käytetään Kaupunki- ja Postinumero-ohjausobjektien arvojen näyttämiseen, jos Alue-ohjausobjektin arvo on tyhjäarvo. Muussa tapauksessa näytetään Kaupunki-, Alue- ja Postinumero-kenttien tai -ohjausobjektien arvot.

=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

IIf- ja IsNull-funktioita käytetään "Tarkista puuttuva päivämäärä" -viestin näyttämiseen, jos VaaditustaPäivämäärästä Toimituspäivämäärän vähentämisen tulos on tyhjäarvo. Muussa tapauksessa näytetään VaadittuPäivämäärä- ja Toimituspäivämäärä-ohjausobjektien päivämääräarvojen väli.

Sivun alkuun

Kyselyt ja suodattimet

Tässä osassa on esimerkkejä lausekkeista, joita voi käyttää lasketun kentän luomiseen kyselyssä tai kyselyn ehtojen antamiseen. Laskettu kenttä on kyselyn sarake, joka on peräisin lausekkeesta. Voit esimerkiksi laskea arvon, yhdistää tekstiarvoja, kuten etu- ja sukunimet, tai muotoilla päivämäärän osan.

Voit käyttää kyselyssä ehtoja käsiteltävien tietueiden rajoittamiseen. Voit käyttää esimerkiksi Between-operaattoria alkamis- ja päättymispäivän antamiseen ja kyselyn tulosten rajoittamiseen tilauksiin, jotka toimitettiin kyseisten päivämäärien välillä.

Seuraavassa on esimerkkejä kyselyissä käytettävistä lausekkeista.

Tekstitoiminnot

Seuraavan taulukon lausekkeissa käytetään operaattoreita & ja + tekstimerkkijonojen yhdistämiseen, käytetään sisäisiä funktioita tekstimerkkijonon käsittelyyn tai käytetään tekstiä muulla tavalla lasketun kentän luomiseen.

Lauseke

Kuvaus

FullName: [FirstName] & " " & [LastName]

Luodaan KokoNimi-kenttä, joka näyttää arvot Etunimi- ja Sukunimi-kentissä, jotka on erotettu toisistaan välilyönnillä.

Address2: [City] & " " & [Region] & " " & [PostalCode]

Luodaan Osoite2-kenttä, joka näyttää arvot Kaupunki-, Alue- ja Postinumero-kentissä, jotka on erotettu toisistaan välilyönnillä.

ProductInitial: Left([ProductName], 1)

Luodaan TuotteenAlkukirjain-kenttä ja käytetään sitten Vasen-funktiota näyttämään TuotteenNimi-kentän arvon ensimmäinen merkki TuotteenAlkukirjain-kentässä.

TypeCode: Right([AssetCode], 2)

Luodaan Tyyppikoodi-kenttä ja käytetään sitten Oikea-funktiota näyttämään KalustokohteenKoodi-kentän arvon kaksi viimeistä merkkiä.

AreaCode: Mid([Phone],2,3)

Luodaan Suuntanro-kenttä ja käytetään sitten Keski-funktiota näyttämään Puhelin-kentän arvon kolme merkkiä toisesta merkistä alkaen.

ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100

Nimetään laskettu Laajennettuhinta-kenttä ja CCur-funktion avulla lasketaan rivinimikkeen kokonaissummat käyttämällä sovellettavaa alennusta.

Sivun alkuun

Aritmeettiset operaatiot

Voit lausekkeiden avulla laskea yhteen, vähentää, kertoa ja jakaa kahden tai useamman kentän tai ohjausobjektin arvoja. Voit suorittaa myös päivämäärien aritmeettisia toimintoja. Oletetaan vaikka, että sinulla on Päivämäärän ja ajan kenttä, jonka nimi on VaadittuPäivämäärä. Lauseke =[RequiredDate] - 2 palauttaa päivämäärän ja ajan arvon, joka on kaksi päivää ennen VaadittuPäivämäärä-kentän arvoa.

Lauseke

Kuvaus

PrimeFreight: [Freight] * 1.1

Luodaan Päärahti-kenttä ja näytetään kentässä rahtikulut plus 10 prosenttia.

OrderAmount: [Quantity] * [UnitPrice]

Luodaan Tilausmäärä-kenttä ja näytetään sitten Määrä- ja Yksikköhinta-kenttien arvojen tulo.

LeadTime: [RequiredDate] - [ShippedDate]

Luodaan Läpimenoaika-kenttä ja näytetään sitten VaadittuPäivämäärä- ja Toimituspäivämäärä-kenttien arvojen välinen ero.

TotalStock: [UnitsInStock]+[UnitsOnOrder]

Luodaan KokoVarasto-kenttä ja näytetään sitten YksiköitäVarastossa- ja YksiköitäTilauksessa-kenttien arvojen summa.

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

Luodaan Rahtiprosentti-kenttä ja näytetään sitten rahtikulujen prosenttiosuus kussakin välisummassa. Tässä lausekkeessa käytetään Summa-funktiota Rahti-kentän arvojen kokonaissumman laskemiseen ja tämän kokonaissumman jakamiseen Välisumma-kentän arvojen summalla.

Jos haluat käyttää tätä lauseketta, sinun on muunnettava valintakysely summakyselyksi, sillä sinun on käytettävä summariviä rakenneruudukossa ja sinun on määritettävä tämän kentän summasoluksilauseke.

Lisätietoja summakyselyn luomisesta on artikkelissa Tietojen summan laskeminen käyttämällä kyselyä.

Jos määrität kentän Muoto-ominaisuudeksi Prosentti, älä lisää operaattoria *100.

Lisätietoja koostefunktioiden käyttämisestä ja kentän ja sarakkeiden arvojen summan laskemisesta saat artikkeleista Tietojen summan laskeminen käyttämällä kyselyä, Tietojen määrän laskeminen käyttämällä kyselyä, Sarakkeen summien näyttäminen taulukossa summarivin avulla ja Sarakkeen summien näyttäminen taulukossa.

Sivun alkuun

Päivämäärätoiminnot

Lähes kaikki tietokannat tallentavat ja seuraavat päivämääriä ja kellonaikoja. Voit käsitellä Accessissa päivämääriä ja kellonaikoja määrittämällä taulukoiden päivämäärä- ja kellonaikakentät Päivämäärä ja kellonaika -tietotyypiksi. Access voi suorittaa päivämäärien aritmeettisia laskutoimituksia. Voit esimerkiksi laskea, kuinka monta päivää on kulunut laskun päivämäärästä myyntireskontran selvittämiseksi.

Lauseke

Kuvaus

LagTime: DateDiff("d", [OrderDate], [ShippedDate])

Luodaan Viiveaika-kenttä ja käytetään sitten PäivämääräEro-funktiota näyttämään, kuinka monta päivää tilauspäivän ja lähetyspäivän välillä on.

YearHired: DatePart("yyyy",[HireDate])

Luodaan Työhönottovuosi-kenttä ja käytetään sitten PäivämääräOsa-funktiota näyttämään kunkin työntekijän työhönottovuosi.

MinusThirty: Date( )- 30

Luodaan MiinusKolmekymmentä-kenttä ja käytetään sitten Päivämäärä-funktiota näyttämään päivämäärä, joka on 30 päivää ennen nykyistä päivämäärää.

Sivun alkuun

SQL-koostefunktiot

Seuraavan taulukon lausekkeissa käytetään SQL (Structured Query Language) -funktioita, jotka koostavat tai yhteenvetävät tietoja. Näitä funktioita (esimerkiksi Summa, Määrä ja Keskiarvo) kutsutaan usein koostefunktioiksi.

Koostefunktioiden lisäksi Accessissa on myös ryhmäkoostefunktioita, joiden avulla arvojen summan tai määrän voi laskea valikoidusti. Voit laskea esimerkiksi vain tietyn alueen arvot tai hakea arvoa toisesta taulukosta. Ryhmäkoostefunktioihin kuuluvat TSumma-funktio, TLaske-funktio ja TKeskiarvo-funktio.

Jos haluat laskea summia, sinun on usein luotava summakysely. Jos haluat esimerkiksi tehdä yhteenvedon ryhmittäin, sinun on käytettävä summakyselyä. Ota summakysely käyttöön kyselyn rakenneruudukossa valitsemalla SummatNäytä-valikosta.

Lauseke

Kuvaus

RowCount: Count(*)

Luodaan Rivimäärä-kenttä ja käytetään sitten Laske-funktiota kyselyn tietueiden määrän laskemiseen, mukaan lukien tyhjäarvoisia (tyhjiä) kenttiä sisältävät tietueet.

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

Luodaan Rahtiprosentti-kenttä ja lasketaan sitten rahtikulujen prosenttiosuus kussakin välisummassa jakamalla Rahti-kentän arvojen summa Välisumma-kentän arvojen summalla. (Tässä esimerkissä käytetään Summa-funktiota.)

Tätä lauseketta on käytettävä summakyselyn kanssa. Jos määrität kentän Muoto-ominaisuudeksi Prosentti, älä lisää operaattoria *100.

Lisätietoja summakyselyn luomisesta on artikkelissa Tietojen summan laskeminen käyttämällä kyselyä.

AverageFreight: DAvg("[Freight]", "[Orders]")

Luodaan KeskiarvoRahti-kenttä ja käytetään sitten TKeskiarvo-funktiota summakyselyn kaikkien tilausten keskiarvorahdin laskemiseen.

Sivun alkuun

Puuttuvia tietoja sisältävät kentät

Tässä esitettyjä lausekkeita voi käyttää sellaisten kenttien käsittelyyn, jotka mahdollisesti sisältävät puuttuvia tietoja, kuten tyhjäarvoiset (tuntemattomia tai määrittämättömiä arvoja sisältävät) kentät. Kohtaat usein tyhjiä arvoja, kuten uuden tuotteen tuntematon hinta tai arvo, jonka työtoveri unohti lisätä tilaukseen. Tyhjien arvojen etsiminen ja käsittely voi olla tärkeää tietokannan toiminnan kannalta. Seuraavan taulukon lausekkeissa näet joitakin yleisiä tapoja käsitellä tyhjiä arvoja.

Lauseke

Kuvaus

CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion])

Luodaan NykyinenMaaTaiAlue-kenttä ja käytetään sitten IIf- ja IsNull-funktioita tyhjän merkkijonon näyttämiseen kyseisessä kentässä, kun MaaTaiAlue-kenttä on tyhjäarvoinen. Muussa tapauksessa näytetään MaaTaiAlue-kentän sisältö.

LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

Luodaan Läpimenoaika-kenttä ja käytetään sitten IIf- ja IsNull-funktioita "Tarkista puuttuva päivämäärä" -viestin näyttämiseen, jos joko VaadittuPäivämäärä- tai Toimituspäivämäärä-kenttä on tyhjäarvoinen. Muussa tapauksessa näytetään päivämäärien välinen ero.

SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales])

Luodaan KuudenKuukaudenMyynti-kenttä ja näytetään sitten Nelj.1Myynti- ja Nelj.2Myynti-kenttien arvojen summa käyttämällä ensin Nz-funktiota mahdollisten tyhjien arvojen muuntamiseen nolliksi.

Sivun alkuun

Alikyselyjä sisältävät lasketut kentät

Voit käyttää sisäkkäistä kyselyä, eli alikyselyä, lasketun kentän luomiseen. Seuraavan taulukon lauseke on yksi esimerkki lasketusta kentästä, jonka luomiseen on käytetty alikyselyä.

Lauseke

Kuvaus

Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID])

Luodaan Luokka-kenttä ja näytetään sitten LuokanNimi, jos Luokat-taulukon LuokanTunnus on sama kuin Tuotteet-taulukon LuokanTunnus.

Sivun alkuun

Tekstiarvojen täsmääminen

Tämän taulukon esimerkkilausekkeissa esitellään ehtoja, jotka vastaavat tekstiarvoja kokonaan tai osittain.

Kenttä

Lauseke

Kuvaus

Toimituskaupunki

"London"

Näyttää Lontooseen toimitetut tilaukset.

Toimituskaupunki

"London" Or "Hedge End"

Näyttää Lontooseen tai Hedge Endiin toimitetut tilaukset käyttämällä Or-operaattoria.

ToimitusmaaTaiAlue

In("Canada", "UK")

Näyttää Kanadaan tai Isoon-Britanniaan toimitetut tilaukset käyttämällä In-operaattoria.

ToimitusmaaTaiAlue

Not "USA"

Näyttää muihin maihin ja alueisiin kuin USA:han toimitetut tilaukset käyttämällä Not-operaattoria.

TuotteenNimi

Not Like "C*"

Näyttää tuotteet, joiden nimet eivät ala C-kirjaimella, käyttämällä Not-operaattoria ja *-yleismerkkiä.

YrityksenNimi

>="N"

Näyttää sellaisille yrityksille toimitetut tilaukset, joiden nimet alkavat kirjaimilla NZ.

Tuotekoodi

Right([ProductCode], 2)="99"

Näyttää sellaiset tilaukset, joiden tuotekoodiarvot päättyvät lukuun 99, käyttämällä Oikea-funktiota.

Lähetysnimi

Like "S*"

Näyttää sellaisille asiakkaille toimitetut tilaukset, joiden nimet alkavat S-kirjaimella.

Sivun alkuun

Päivämääräehtojen täsmääminen

Seuraavan taulukon lausekkeista näet, miten päivämääriä ja niihin liittyviä toimintoja käytetään ehtolausekkeissa. Lisätietoja päivämääräarvojen antamisesta ja käyttämisestä on artikkelissa Päivämäärä- ja kellonaika -kentän muotoileminen.

Kenttä

Lauseke

Kuvaus

Toimituspäivämäärä

#2/2/2017#

Näyttää 2. helmikuuta 2017 toimitetut tilaukset.

Toimituspäivämäärä

Date()

Näyttää tänään toimitetut tilaukset.

VaadittuPäivämäärä

Between Date( ) And DateAdd("m", 3, Date( ))

Näyttää tilaukset, jotka tarvitaan kuluvan päivän ja kolmen kuukauden kuluttua olevan päivän välillä, käyttämällä Between...And-operaattoria ja PäivämääräLisää- ja Päivämäärä-funktioita.

Tilauspäivämäärä

< Date( ) - 30

Näyttää yli 30 päivää vanhat tilaukset käyttämällä Päivämäärä-funktiota.

Tilauspäivämäärä

Year([OrderDate])=2017

Näyttää vuoden 2017 tilaukset käyttämällä Vuosi-funktiota.

Tilauspäivämäärä

DatePart("q", [OrderDate])=4

Näyttää neljännen vuosineljänneksen tilaukset käyttämällä PäivämääräOsa-funktiota.

Tilauspäivämäärä

DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1

Näyttää kunkin kuukauden viimeisen päivän tilaukset käyttämällä PäivämääräSarja-, Vuosi- ja Kuukausi-funktioita.

Tilauspäivämäärä

Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now())

Näyttää kuluvan vuoden ja kuukauden tilaukset käyttämällä Vuosi- ja Kuukausi-funktioita sekä Ja-operaattoria.

Toimituspäivämäärä

Between #1/5/2017# And #1/10/2017#

Näyttää tilaukset, jotka on toimitettu 5.1.–10.1.2017, käyttämällä Between...And -operaattoria.

VaadittuPäivämäärä

Between Date( ) And DateAdd("M", 3, Date( ))

Näyttää tilaukset, jotka tarvitaan kuluvan päivän ja kolmen kuukauden kuluttua olevan päivän välillä, käyttämällä Between...And-operaattoria.

Syntymäaika

Month([BirthDate])=Month(Date())

Näyttää tässä kuussa syntymäpäiviään viettävät työntekijät käyttämällä Kuukausi- ja Päivämäärä-funktioita.

Sivun alkuun

Puuttuvien tietojen etsiminen

Seuraavan taulukon lausekkeet käyttävät kenttiä, joista mahdollisesti puuttuu tietoja ja jotka voivat sisältää tyhjän arvon tai tyhjän merkkijonon. Tyhjä arvo kuvaa tietojen puuttumista. Se ei vastaa nollaa tai mitään muutakaan arvoa. Access tukee puuttuvien tietojen käsitettä, sillä se on tärkeä tietokannan eheyden kannalta. Käytännössä tiedot ovat usein puutteellisia, vaikkakin vain väliaikaisesti (esimerkiksi uuden tuotteen toistaiseksi määrittelemätön hinta). Sen vuoksi todellista kokonaisuutta, kuten yritystä, kuvaavan tietokannan on pystyttävä tallentamaan tiedot puuttuvina. IsNull-funktiolla voit määrittää, sisältääkö kenttä tai ohjausobjekti tyhjän arvon, ja Nz-funktiolla voit muuntaa tyhjän arvon nollaksi.

Kenttä

Lauseke

Kuvaus

Toimitusalue

Is Null

Näyttää tilaukset asiakkaille, joiden Toimitusalue-kenttä on tyhjäarvoinen (puuttuu).

Toimitusalue

Is Not Null

Näyttää tilaukset asiakkaille, joiden Toimitusalue-kenttä sisältää arvon.

Faksi

""

Näyttää tilaukset asiakkaille, joilla ei ole faksia. Tämä on osoitettu Faksi-kentän tyhjänä merkkijonona tyhjäarvoisen (puuttuvan) kentän sijaan.

Sivun alkuun

Tietuerakenteiden täsmääminen Like-funktiolla

Like-operaattori tarjoaa joustavuutta, kun yrität etsiä tiettyä kaavaa noudattavia rivejä, sillä voit käyttää Like-operaattoria yleismerkkien kanssa ja määrittää kaavoja, joita Access voi etsiä. Esimerkiksi * (tähti) -yleismerkki vastaa mitä tahansa merkkijonoa, ja sen avulla on helppo etsiä kaikki nimet, jotka alkavat tietyllä kirjaimella. Like "S*"-lausekkeella esimerkiksi saat kaikki nimet, jotka alkavat s-kirjaimella. Lisätietoja on artikkelissa Like-operaattori.

Kenttä

Lauseke

Kuvaus

Lähetysnimi

Like "S*"

Etsii kaikki Lähetysnimi-kentän tietueet, jotka alkavat S-kirjaimella.

Lähetysnimi

Like "*Imports"

Etsii kaikki Lähetysnimi-kentän tietueet, jotka päättyvät "Imports"-sanaan.

Lähetysnimi

Like "[A-D]*"

Etsii kaikki Lähetysnimi-kentän tietueet, jotka alkavat A-, B-, C- tai D-kirjaimella.

Lähetysnimi

Like "*ar*"

Etsii kaikki Lähetysnimi-kentän tietueet, jotka sisältävät peräkkäiset kirjaimet "ar".

Lähetysnimi

Like "Maison Dewe?"

Etsii kaikki Lähetysnimi-kentän tietueet, joiden arvon ensimmäinen osa sisältää sanan "Maison" ja sen jälkeen tulee viisikirjaiminen merkkijono, jonka neljä ensimmäistä kirjainta ovat "Dewe" ja viimeinen kirjain on tuntematon.

Lähetysnimi

Not Like "A*"

Etsii kaikki Lähetysnimi-kentän tietueet, jotka eivät ala A-kirjaimella.

Sivun alkuun

Rivien täsmääminen SQL-koosteiden avulla

Käytä SQL- tai ryhmäkoostefunktiota, jos haluat laskea arvojen summan, määrän tai keskiarvon valikoidusti. Voit laskea esimerkiksi vain tietyn alueen arvot tai vain Kyllä-arvot. Toisinaan saatat ehkä joutua hakemaan arvon toisesta taulukosta, jotta voit näyttää sen. Seuraavan taulukon esimerkkilausekkeissa käytetään ryhmäkoostefunktioita arvojoukon laskutoimituksen suorittamiseen ja tulosta käytetään kyselyehtona.

Kenttä

Lauseke

Kuvaus

Rahti

> (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

TKeskihajonta- ja TKeskiarvo-funktioita käytetään näyttämään kaikki tilaukset, joiden rahtikustannukset ylittivät rahtikustannusten keskiarvon ja keskihajonnan.

Määrä

> DAvg("[Quantity]", "[Order Details]")

TKeskiarvo-funktiota käytetään näyttämään tuotteet, joiden tilausmäärä ylittää keskiarvon.

Sivun alkuun

Kenttien täsmääminen alikyselyjen avulla

Alikyselyä, eli sisäkkäistä kyselyä, voi käyttää ehtona käytettävän arvon laskemiseen. Seuraavan taulukon esimerkkilausekkeet vastaavat alikyselyn tuloksiin perustuvia rivejä.

Kenttä

Lauseke

Näyttää

Yksikköhinta

(SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup")

Tuotteet, joiden hinta on sama kuin aniksensiemensiirapin hinta.

Yksikköhinta

>(SELECT AVG([UnitPrice]) FROM [Products])

Tuotteet, joiden yksikköhinta ylittää keskiarvon.

Palkka

> ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*"))

Niiden myyntiedustajien palkan, joiden palkka on suurempi kuin kaikkien niiden työntekijöiden, joiden titteleissä esiintyy sana "Päällikkö" tai "Varajohtaja".

OrderTotal: [UnitPrice] * [Quantity]

> (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details])

Tilaukset, joiden summa ylittää keskiarvon.

Sivun alkuun

Päivityskyselyt

Päivityskyselyn avulla voit muokata yhden tai useamman aiemmin luodun kentän tietoja tietokannassa. Voit esimerkiksi korvata arvoja tai poistaa ne kokonaan. Tässä taulukossa esitellään joitakin tapoja käyttää lausekkeita päivityskyselyissä. Voit käyttää näitä lausekkeita kyselyn rakenneruudukon Päivitä-rivillä päivitettävän kentän kohdalla.

Lisätietoja päivityskyselyiden luomisesta on artikkelissa Päivityskyselyn luominen ja suorittaminen.

Kenttä

Lauseke

Tulos

Otsikko

"Salesperson"

Muuttaa tekstiarvoksi Myyjä.

ProjektinAlku

#8/10/17#

Muuttaa päivämääräarvoksi 10.8.2017.

Poistettu käytöstä

Yes

Muuttaa Kyllä/Ei-kentän Ei-arvon Kyllä-arvoksi.

Osanumero

"PN" & [PartNumber]

Lisää kunkin määritetyn osanumeron eteen ON.

RivikohdeYhteensä

[UnitPrice] * [Quantity]

Laskee yksikköhinnan ja määrän tulon.

Rahti

[Freight] * 1.5

Lisää rahtikuluja 50 prosentilla.

Myynti

DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID])

Kun nykyisen taulukon tuotetunnuksen arvot vastaavat Tilaustiedot-taulukon tuotetunnuksen arvoja, kokonaismyynti päivittyy yksikköhinnan ja määrän tulon perusteella.

Toimituspostinumero

Right([ShipPostalCode], 5)

Katkaisee vasemmanpuoliset merkit ja jättää viisi oikeanpuolista merkkiä.

Yksikköhinta

Nz([UnitPrice])

Muuttaa tyhjän (määrittämättömän tai tuntemattoman) arvon nollaksi (0) Yksikköhinta-kentässä.

Sivun alkuun

SQL-lausekkeet

Structured Query Language eli SQL on Accessin käyttämä kyselykieli. Kaikki kyselyn rakennenäkymässä luodut kyselyt voidaan ilmaista myös käyttämällä SQL-kieltä. Jos haluat nähdä kyselyn SQL-lausekkeen, valitse SQL-näkymäNäytä-valikossa. Seuraavassa taulukossa on esimerkkejä lauseketta käyttävistä SQL-lausekkeista.

Lauseketta käyttävä SQL-lauseke

Tulos

SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio";

Näyttää niiden työntekijöiden Etunimi- ja Sukunimi-kenttien arvot, joiden sukunimi on Danseglio.

SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID];

Näyttää Tuotteet-taulukon Tuotetunnus- ja TuotteenNimi-kenttien arvot tietueille, joiden LuokanTunnus-arvo vastaa avoimessa Uudet tuotteet -lomakkeessa määritettyä LuokanTunnus-arvoa.

SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000;

Laskee niiden tilausten laajennetun keskihinnan, joiden LaajennettuHinta-kentän arvo on yli 1 000, ja näyttää sen Laajennettu keskihinta -nimisessä kentässä.

SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10;

Näyttää TuotetunnustenMäärä-kentässä niiden tuotteiden kokonaismäärän, joiden luokkiin kuuluu yli 10 tuotetta.

Sivun alkuun

Taulukoiden lausekkeet

Kaksi yleisintä lausekkeiden käyttötapaa taulukoissa ovat oletusarvon määrittäminen ja kelpoisuussäännön luominen.

Kenttien oletusarvot

Kun suunnittelet tietokannan, haluat ehkä määrittää kentän tai ohjausobjektin oletusarvon. Access antaa oletusarvon, kun kentän sisältävä uusi tietue tai ohjausobjektin sisältävä objekti luodaan. Seuraavan taulukon lausekkeet kuvaavat kentän tai ohjausobjektin esimerkkioletusarvoja. Jos ohjausobjekti on sidottu taulukon kenttään ja kentällä on oletusarvo, ohjausobjektin oletusarvo on etusijalla.

Kenttä

Lauseke

Oletuskentän arvo

Määrä

1

1

Alue

"MT"

MT

Alue

"New York, N.Y."

New York, N.Y. (Muista, että arvon ympärillä täytyy käyttää lainausmerkkejä, jos arvoon sisältyy välimerkkejä.)

Faksi

""

Tyhjä merkkijono ilmaisee, että tämän kentän pitäisi oletusarvoisesti olla tyhjä, sen sijaan että se sisältää tyhjän arvon

Tilauksen päivämäärä

Date( )

Tämän päivän päivämäärä

Määräpäivä

Date() + 60

60 päivää tästä päivämäärästä eteenpäin

Sivun alkuun

Kentän kelpoisuussäännöt

Voit luoda kentän tai ohjausobjektin kelpoisuussäännön lausekkeen avulla. Access luo säännön, kun kenttään tai ohjausobjektiin kirjoitetaan tietoja. Voit luoda kelpoisuussäännön muokkaamalla kentän tai ohjausobjektin Kelpoisuussääntö-ominaisuutta. Kannattaa määrittää myös KelpoisuussäännönKuvaus-ominaisuus, joka sisältää Accessin näyttämän tekstin, kun kelpoisuussääntöä rikotaan. Jos et määritä KelpoisuussäännönKuvaus-ominaisuutta, Access näyttää oletusvirhesanoman.

Seuraavan taulukon esimerkeissä esitellään Kelpoisuussääntö-ominaisuuden kelpoisuussäännön lausekkeita ja KelpoisuussäännönKuvaus-ominaisuuteen liittyvä teksti.

Kelpoisuussääntö-ominaisuus

KelpoisuussäännönKuvaus-ominaisuus

<> 0

Anna jokin muu arvo kuin nolla.

0 Or > 100

Arvon on oltava joko 0 tai suurempi kuin 100.

Like "K???"

Arvon on oltava neljä merkkiä ja sen on alettava K-kirjaimella.

< #1/1/2017#

Anna päivämäärä, joka on aikaisempi kuin 1.1.2017.

>= #1/1/2017# And < #1/1/2008#

Päivämäärän vuoden on oltava 2017.

Lisätietoja tietojen kelpoisuuden tarkistamisesta on artikkelissa Kelpoisuussäännön luominen kentän tietojen tarkistamiseksi.

Sivun alkuun

Makrolausekkeet

Joissakin tapauksissa haluat ehkä suorittaa toiminnon tai toimintojen sarjan makrossa vain, jos jokin tietty ehto on tosi. Saatat esimerkiksi haluta suorittaa toiminnon vain, kun Laskuri-tekstiruudun arvo on 10. Lausekkeen avulla voit määrittää ehdon Jos-lohkossa:

[Counter]=10

Kuten Kelpoisuussääntö-ominaisuudessa , Jos-lohkon lauseke on ehdollinen lauseke. Sen on annettava joko True- tai False-arvo. Toiminto tapahtuu vain silloin, kun ehto on tosi.

Suorita toiminto tätä lauseketta käyttämällä

Jos

[City]="Paris"

Pariisi on sen lomakkeen kentän Kaupunki-arvo, josta makro suoritettiin.

DCount("[OrderID]", "Orders") > 35

Tilaukset-taulukon TilauksenTunnus-kentässä on yli 35 kohdetta.

DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3

Tilaustiedot-taulukossa on yli kolme kohdetta, joiden taulukon TilauksenTunnus-kenttä vastaa Tilaukset-lomakkeen TilauksenTunnus-kenttää.

[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017#

Toimituspäivämäärä-kentän arvo siinä lomakkeessa, josta makro suoritettiin, on aikaisintaan 2.2.2017 ja viimeistään 2.3.2017.

Forms![Products]![UnitsInStock] < 5

Tuotteet-lomakkeen YksiköitäVarastossa-kentän arvo on pienempi kuin 5.

IsNull([FirstName])

Etunimi-kenttä siinä lomakkeessa, josta makro suoritettiin, on tyhjäarvoinen (sillä ei ole arvoa). Tämä lauseke vastaa lauseketta [FirstName] Is Null.

[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100

MaaTaiAlue-kentän arvo siinä lomakkeessa, josta makro suoritettiin, on Iso-Britannia, ja MyyntiYhteensä-lomakkeen TilauksetYhteensä-kentän arvo on suurempi kuin 100.

[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5

MaaTaiAlue-kentän arvo siinä lomakkeessa, josta makro suoritettiin, on joko Ranska, Italia tai Espanja, ja postinumero ei ole 5 merkin pituinen.

MsgBox("Confirm changes?",1)=1

Valitse OK siinä valintaikkunassa, jossa Sanomaruutu-funktio näkyy. Jos valitset valintaikkunassa Peruuta, Access ohittaa toiminnon.

Sivun alkuun

Katso myös

Lausekkeenmuodostimen käyttäminen

Johdanto lausekkeiden käyttämiseen

Lausekkeen muodostamisen oppiminen

Lausekkeiden syntaksiopas

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.