IIf-funktio

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ä tosi-osan että epätosi-osan, vaikka se palauttaa vain yhden niistä. Tämän vuoksi kannattaa pitää silmällä epätoivottuja vaikutuksia. Jos esimerkiksi epätosiosan arviointi johtaa nollavirheeseen, tapahtuu virhe, vaikka lauseke olisi Tosi.

Esimerkkejä

IIf-funktion käyttö lomakkeessa tai raportissa Oletetaan, että sinulla on asiakastaulukko, jossa on kenttä nimeltä MaaTaiAlue. 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ö monimutkaisissa lausekkeissa Voit käyttää mitä tahansa lauseketta minä 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-funktionepätosiosa-argumentti. Koska kukin sisäkkäinen IIf-funktio on sen sisältävän IIf-funktionepätosiosa-argumentti, teksti "Jokin muu kieli" palautetaan vain, jos kaikkien IIf-funktioiden lausekeargumenttien arvo on 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 "Ja" tai "Tai", IIf-funktion lauseke-argumentissa, sinun on kirjoitettava looginen lauseke Eval-funktioon. Saat lisätietoja esimerkkitaulukosta.

IIf-funktion käyttö kyselyssä

IIf-funktiota käytetään usein kyselyiden laskettujen kenttien luomiseen. Syntaksi on sama lukuun ottamatta sitä, että kyselyssä lauseke on lisättävä kenttätunnuksella ja kaksoispisteellä (:) yhtäläisyysmerkin (=) sijasta. 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

Seuraavissa esimerkeissä kerrotaan, kuinka 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([Lentokenttäkoodi]="ORD","Chicago",IIf([Lentokenttäkoodi]="ATL","Atlanta",IIf([Lentokenttäkoodi]="SEA","Seattle","Muu")))

    Tulos:

    Jos [Lentokenttäkoodi] 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"))

    Tulos:

    Jos [Lähetyspäivä] on ennen tämän päivän päivämäärää, 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(Laske([Volttia] 12:n ja15:n välillä JA [Ampeerit] 0,25:n ja 0,3:n välillä),"OK","Ei kalibroitu")

    Tulos:

    Jos [Voltit] on 12:n ja 15:n välillä ja [Ampeerit] on 0,25:n ja 0,3:n välillä, palauta "OK". Muuten palauta "Ei kalibroitu".

  5. Lauseke:

    =IIf(Laske([MaaTaiAlue] kohteessa ("Kanada","USA","Meksiko")),"Pohjois-Amerikka","Muu")

    Tulos:

    Jos [MaaTaiAlue] 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"))))

    Tulos:

    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 käytät IIf-funktiota lasketun kentän luomiseen kyselyssä, korvaa yhtäläisyysmerkki (=) kentän aliaksella ja kaksoispisteellä (:). Esimerkiksi Tila: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))