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 kaikkia lausekkeita. Käytä IIf tätä, kun haluat selvittää, onko toinen lauseke tosi vai epätosi. Jos lauseke on tosi, IIf palauttaa yhden arvon. Jos arvo on epätosi, IIf se palauttaa toisen arvon. Määrität arvot, jotka IIf palauttavat.

Esimerkkejä

Syntaksi

IIf(expr, truepart, falsepart)

Funktion IIf syntaksissa on seuraavat argumentit:

Argumentti Kuvaus
expr Pakollinen. Lauseke, jonka arvo halutaan laskea.
truepart Pakollinen. Palautettavan arvon tai lausekkeen, jos expr se on True.
falsepart Pakollinen. Palautettavan arvon tai lausekkeen, jos expr se on False.

Huomautuksia

IIf laskee aina sekä - että truepartfalsepart-arvot, vaikka se palauttaa vain yhden niistä. Tämän toiminnan vuoksi voit tarkkailla ei-toivottuja sivuvaikutuksia. Jos esimerkiksi arvioinnin falsepart tuloksena on jako nollalla -virhe, tapahtuu virhe, vaikka expr se olisikin True.

Esimerkkejä

Lomakkeen tai raportin käyttäminen IIf

Oletetaan, että sinulla on Customers taulukko, joka sisältää kentän nimeltä CountryRegion. Lomakkeessa haluat näyttää, onko italia yhteyshenkilön ensimmäinen kieli. Voit lisätä ohjausobjektin ja käyttää IIf sen Control Source ominaisuutta:

=IIf([CountryRegion]="Italy", "Italian", "Some other language")

Kun avaat lomakkeen lomakenäkymässä, ohjausobjekti näkyy Italian aina, kun sen arvo CountryRegion on Italy. Se näkyy Some other language aina, kun CountryRegion sillä on muita arvoja.

Käytä IIf monimutkaisissa lausekkeissa

Voit käyttää mitä tahansa lauseketta missä tahansa lausekkeen IIf osassa. Voit myös määrittää sisäkkäiset IIf lausekkeet, joiden avulla voit arvioida seuraajalausekkeiden sarjan. Jos haluat jatkaa edeltävää esimerkkiä, haluat ehkä testata useita eri CountryRegion arvoja ja näyttää sitten sopivan kielen arvon perusteella:

=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))

Teksti Some other language on falsepart sisimmän IIf funktion argumentti. Koska kukin sisäkkäinen IIf funktio on falsepart sen sisältävän IIf funktion argumentti, teksti Some other language palautetaan vain, jos funktioiden IIf kaikkien expr argumenttien arvo on False.

Oletetaan esimerkiksi, että työskentelet kirjastossa. Kirjastotietokannassa on taulukko nimeltä Check Outs , joka sisältää kentän nimeltä Due Date, joka sisältää päivämäärän, jolloin tietyn kirjan on määrä palata. Voit luoda lomakkeen, joka näyttää uloskuitatun kohteen tilan ohjausobjektissa käyttämällä IIf kyseisen ohjausobjektin ominaisuuden Control Source funktiota:

=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))

Kun avaat lomakkeen lomakenäkymässä, ohjausobjekti näyttää OVERDUE , jos arvo Due Date on pienempi kuin nykyinen päivämäärä, Due today jos se on yhtä suuri kuin nykyinen päivämäärä ja Not Yet Due muussa tapauksessa.

Huomautus

Jos haluat käyttää loogisia operaattoreita, kuten And funktion expr argumenttia tai Or argumenttiaIIf, sinun on kirjoitettava looginen lauseke Eval-funktioon. Saat lisätietoja esimerkkitaulukosta.

Käytä IIf kyselyssä

Funktiota IIf käytetään usein laskettujen kenttien luomiseen kyselyissä. Syntaksi on sama, paitsi että kyselyssä sinun on lisättävä lausekkeeseen kenttätunnus ja kaksoispiste (:) yhtäläisyysmerkin (=) sijaan. Jos haluat käyttää edeltävää esimerkkiä, kirjoita kyselyn rakenneruudukon Kenttä-riville seuraavasti:

Language: IIf([CountryRegion]="Italy", "Italian", "Some other language")

Tässä tapauksessa Language: on kentän tunnus.

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

Käytä IIf VBA-koodissa

Huomautus

Seuraavissa esimerkeissä näytetään, miten tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käsittelemisestä, valitse Hae-kohdan vieressä olevasta avattavasta luettelosta Kehittäjäviittaus ja kirjoita sitten yksi tai useampi termi hakuruutuun.

Tässä esimerkissä funktion IIf avulla arvioidaan TestMe toimintosarjan parametri CheckIt ja palautetaan sana Large , jos määrä on suurempi kuin 1 000. Muussa tapauksessa se palauttaa sanan Small.

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

Lisää esimerkkejä

  1. Ilmaisun:

    =IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))
    

    Tulos: Jos [AirportCode] on "ORD", palauta "Chicago". Muussa tapauksessa, jos [AirportCode] on "ATL", palauta "Atlanta". Muussa tapauksessa, jos [AirportCode] on "SEA", palauta "Seattle". Muussa tapauksessa palauta "Other".

  2. Ilmaisun:

    =IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))
    

    Tulos: Jos [ShipDate] on aiempi kuin kuluva päivä, palauta "Shipped". Muussa tapauksessa, jos [ShipDate] se on kuluva päivä, palauta "Shipping today". Muussa tapauksessa palauta "Unshipped".

  3. Ilmaisun:

    =IIf([PurchaseDate]<#1/1/2008#,"Old","New")
    

    Tulos: Jos [PurchaseDate] on vanhempi kuin 1/1/2008, palauta "Old". Muussa tapauksessa palauta "New".

  4. Ilmaisun:

    =IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration")
    

    Tulos: Jos [Volts] arvo on 12–15 ja [Amps] on välillä 0,25–0,3, palauta "OK". Muussa tapauksessa palauta "Out of calibration".

  5. Ilmaisun:

    =IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"North America","Other")
    

    Tulos: Jos [CountryRegion] on "Canada", "USA", tai "Mexico", palauta "North America". Muussa tapauksessa palauta "Other".

  6. Ilmaisun:

    =IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))
    

    Tulos: Jos [Average] arvo on 90 tai suurempi, palauta "A". Muussa tapauksessa, jos [Average] arvo on 80 tai suurempi, palauta "B". Muussa tapauksessa, jos [Average] arvo on 70 tai suurempi, palauta "C". Muussa tapauksessa, jos [Average] arvo on 60 tai suurempi, palauta "D". Muussa tapauksessa palauta "F".

Huomautus

Jos käytät funktiota IIf lasketun kentän luomiseen kyselyssä, korvaa yhtäläisyysmerkki (=) kentän aliaksella ja kaksoispisteellä (:). Esimerkiksi Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).