Käytetään kohteeseen
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Palauttaa toisen kahdesta osasta lausekkeen arvioinnista riippuen.

Voit käyttää IIf-funktiota missä tahansa, missä voit käyttää lausekkeita. IIf-funktiota käytetään määrittämään, onko toinen lauseke tosi vai epätosi. Jos lauseke on tosi, IIf palauttaa yhden arvon; jos se on epätosi, IIf palauttaa toisen arvon. Voit määrittää arvot, jotka IIf palauttaa.

Esimerkkejä

Syntaksi

IIf ( lauseke , tosiosa , epätosiosa )

IIf-funktiolla on seuraavat argumentit:

Argumentti

Kuvaus

lauseke

Pakollinen. Lauseke, jonka haluat arvioida.

tosiosa

Pakollinen. Palautettu arvo tai lauseke, jos lauseke on Tosi.

epätosiosa

Pakollinen. Arvo tai lauseke palautettu, jos lauseke on Epätosi.

Huomautuksia

IIf laskee aina sekä tosiosan että epätosiosan, vaikka funktio palauttaakin vain toisen niistä. Tämän vuoksi kannattaa pitää silmällä epätoivottuja vaikutuksia. Esimerkiksi jos epätosiosan laskeminen tuottaa nollallajakovirheen, virhe tapahtuu vaikka lauseke on Tosi.

Esimerkkejä

IIf-funktion käyttäminen lomakkeessa tai raportissa    Oletetaan, että sinulla on Asiakkaat-taulukko, joka sisältää CountryRegion-nimisen kentän. Lomakkeessa haluat näyttää, onko italia yhteyshenkilön äidinkieli. Voit lisätä ohjausobjektin ja käyttää sen Ohjausobjektin lähde -ominaisuudessa IIf-funktiota seuraavasti:

=IIf([MaaTaiAlue]="Italia", "italia", "Jokin muu kieli")

Kun avaat lomakkeen lomakenäkymässä, ohjausobjekti näyttää sanan "italia" aina, kun MaaTaiAlueen arvo on Italia, ja sanat "Jokin muu kieli" aina, kun MaaTaiAlueen arvo on muu kuin Italia.

IIf-funktion käyttäminen monimutkaisissa lausekkeissa    Voit käyttää mitä tahansa lauseketta minkä tahansa IIf-lausekkeen osana. Voit myös asettaa IIf-lausekkeita sisäkkäin, jotta voit arvioida useita toisistaan riippuvaisia lausekkeita. Oletetaan jatkoa edelliseen esimerkkiin: haluat ehkä kokeilla useita MaaTaiAlue-arvoja ja näyttää sitten oikean kielen sen perusteella:

=IIf([MaaTaiAlue]="Italia", "italia", IIf([MaaTaiAlue]="Ranska", "ranska", IIf([MaaTaiAlue]="Saksa", "saksa", "Jokin muu kieli")))

Teksti "Jokin muu kieli" on sisimmän IIf-funktion argumentin epätosiosa. Koska jokainen sisäkkäinen IIf-funktio on sen sisältävän IIf-funktion epätosiosa-argumentti, teksti "Jokin muu kieli" palautetaan vain, jos kaikkien IIf-funktioiden lausekeargumenttien arvoksi tulee Epätosi.

Oletetaan toisena esimerkkinä, että työskentelet kirjastossa. Kirjastotietokannassa on taulukko Lainat, joka sisältää kentän Määräpäivä, jossa on kirjan palautuksen määräpäivä. Voit luoda lomakkeen, joka ilmaisee uloskuitatun kohteen tilan ohjausobjektissa, käyttämällä kyseisen ohjausobjektin Ohjausobjektin lähde -ominaisuuden IIf-funktiota seuraavasti:

=IIf([Määräpäivä]<Päivämäärä(),"MYÖHÄSSÄ",IIf([Määräpäivä]=Päivämäärä(),"Määräpäivä tänään","Ei vielä erääntynyt"))

Kun avaat lomakkeen lomakenäkymässä, ohjausobjekti näyttää tekstin "MYÖHÄSSÄ", jos Määräpäivän arvo on pienempi kuin kuluvan päivän päivämäärä, "Määräpäivä tänään", jos se on sama kuin kuluva päivä ja muuten "Ei vielä erääntynyt".

Huomautus: Jos haluat käyttää loogisia operaattoreita, kuten And tai Or, IIf-funktion lausekeosassa, sinun täytyy sulkea ne Laske-funktioon. Saat lisätietoja esimerkkitaulukosta.

IIf-funktion käyttö kyselyssä   

IIf-funktiota käytetään usein kyselyiden laskettujen kenttien luomiseen. Syntaksi on sama, mutta kyselyssä sinun täytyy lisätä lausekkeen eteen kentän tunnus ja kaksoispiste (:) yhtäsuuruusmerkin (=) asemesta. Edellisessä esimerkissä kirjoittaisit siis kyselyn rakenneruudukon Kenttä-riville seuraavasti:

Kieli: IIf([MaaTaiAlue]="Italia", "italia", "Jokin muu kieli")

Tässä tapauksessa "Kieli:" on kentän tunnusnimi.

Lisätietoja kyselyjen ja laskettujen kenttien luomisesta on artikkelissa Yksinkertaisen valintakyselyn luominen.

IIf-funktion käyttö VBA-koodissa    

Huomautus: Seuraavassa on esimerkkejä siitä, miten tätä funktiota käytetään Visual Basic for Applications (VBA)-moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.

Tässä esimerkissä käytetään IIf-funktiota CheckIt-toimintosarjan TestMe-parametrin laskemiseen, joka palauttaa sanan "Suuri", jos määrä on suurempi kuin 1000, tai muussa tapauksessa sanan "Pieni".

Function CheckIt (TestMe As Integer)
  CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

Lisää esimerkkejä

  1. Lauseke: =IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Muu"))))Tulos: Jos [AirportCode] on "ORD", palauta "Chicago". Muuten, jos [Lentokenttäkoodi] on "ATL", palauta "Atlanta". Muuten, jos [Lentokenttäkoodi] on "SEA", palauta "Seattle". Muuten palauta "Muu".

  2. Lauseke: =IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))Result: Jos [Toimituspäivä] on ennen kuluvaa päivää, palauta "Lähetetty". Muuten, jos [Lähetyspäivä] on sama kuin tämän päivän päivämäärä, palauta "Lähetetään tänään". Muuten palauta "Ei lähetetty".

  3. Lauseke: =IIf([PurchaseDate]<#1.1.2008#,"Vanha","Uusi")Tulos: Jos [Ostopäivä] on ennen 1.1.2008, palauta "Vanha". Muuten palauta "Uusi".

  4. Lauseke: =IIf(Eval([Voltit] Between 12 and 15 And [Amps] Between 0.25 and 0.3),"OK","Out of calibration")Result: Jos [Voltit] on välillä 12–15 ja [ampeerit] on välillä 0,25–0,3, palauta "OK". Muuten palauta "Ei kalibroitu".

  5. Lauseke: =IIf(Eval([CountryRegion] in ("Kanada","USA","Meksiko")),"Pohjois-Amerikka","Muu")Tulos: Jos [MaaAlue] on "Kanada", "USA" tai "Meksiko", palauta "Pohjois-Amerikka". Muuten palauta "Muu".

  6. Lauseke: =IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))))Result: Jos [Keskiarvo] on 90 tai suurempi, palauta "A". Muuten, jos [Keskiarvo] on 80 tai suurempi, palauta "B". Muuten, jos [Keskiarvo] on 70 tai suurempi, palauta "C". Muuten, jos [Keskiarvo] on 60 tai suurempi, palauta "D". Muuten palauta "F".

Huomautus: Jos luot IIf-funktiolla lasketun kentän kyselyyn, korvaa yhtäsuuruusmerkki (=) kentän tunnuksella ja kaksoispisteellä (:). Esimerkki: Tila: IIf([Lähetyspäivä]<Päivämäärä(),"Lähetetty",IIf([Lähetyspäivä]=Päivämäärä(),"Lähetetään tänään","Ei lähetetty"))

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

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