Funktsioon IIf

Rakenduskoht
Microsoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Olenevalt avaldise hindamisest tagastatakse kahest argumendist üks.

Saate kasutada IIf kõikjal, kus saate kasutada avaldisi. Sobib IIf selleks, et teha kindlaks, kas mõni muu avaldis on tõene või väär. Kui avaldis on tõene, IIf tagastab ühe väärtuse. Kui see on väär, IIf tagastab teise väärtuse. Saate määrata tagastatavad IIf väärtused.

Vt näited

Süntaks

IIf(expr, truepart, falsepart)

Funktsiooni IIf süntaksil on järgmised argumendid.

Argument Kirjeldus
expr Nõutav. Avaldis, mida soovite hinnata.
truepart Nõutav. Tagastatud väärtus või avaldis, kui expr on True.
falsepart Nõutav. Tagastatud väärtus või avaldis, kui expr on False.

Kommentaarid

IIf hindab alati mõlemat truepart ja falsepart, kuigi tagastab neist ainult ühe. Selle käitumise tõttu jälgige soovimatuid kõrvalmõjusid. Näiteks kui hindamise falsepart tulemus on nulliga jagamistõrge, ilmneb tõrge isegi siis, kui expr on True.

Näited

Vormil või aruandes kasutamine IIf

Oletagem, et teil on Customers tabel, mis sisaldab välja nimega CountryRegion. Vormil soovite näidata, kas kontakti esimene keel on itaalia keel. Saate lisada juhtelemendi ja kasutada IIf seda selle Control Source atribuudis.

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

Kui avate vormi vormivaates, kuvatakse Italian juhtelement iga kord, kui selle väärtus CountryRegion on Italy. See kuvatakse Some other language iga kord, kui CountryRegion on mõni muu väärtus.

Kasutamine IIf keerukates avaldistes

Lause mis tahes osas saate kasutada mis tahes avaldist IIf . Samuti saate pesastada IIf avaldisi, mis võimaldavad teil hinnata sõltuvate avaldiste sarja. Eelmise näitega jätkamiseks võiksite testida mitut erinevat CountryRegion väärtust ja seejärel kuvada väärtuse põhjal sobiva keele.

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

Tekst Some other language on falsepart kõige sisemise IIf funktsiooni argument. Kuna iga pesastatud IIf funktsioon on falsepart seda funktsiooni sisaldav argument IIf , tagastatakse tekst Some other language ainult juhul, kui kõik expr funktsioonide argumendid IIf on väärtustatud väärtuseks False.

Oletagem näiteks, et töötate teegis. Teegiandmebaasis on tabel nimega Check Outs , mis sisaldab välja nimega Due Date, mis sisaldab kindla raamatu tagastamise kuupäeva. Väljamöllitud üksuse olekut kuvava vormi saate luua juhtelemendi atribuudi funktsiooni Control Source abilIIf.

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

Vormi avamisel vormivaates kuvab OVERDUE juhtelement juhul, kui selle väärtus Due Date on väiksem kui praegune kuupäev, Due today kui see võrdub praeguse kuupäevaga, ja Not Yet Due muul juhul.

Märkus.

Loogikatehtemärkide IIf kasutamiseks (nt And funktsiooni argumendis või Or argumendisexpr) peate loogilise avaldise ümbritsema funktsiooniga Eval. Vaadake järgnevat näidistabelit.

Päringus kasutamine IIf

Funktsiooni IIf kasutatakse sageli päringutes arvutusliku välja loomiseks. Süntaks on sama, välja arvatud see, et päringus tuleb avaldise ette lisada välja pseudonüüm ja koolon (:), mitte võrdusmärk (=). Eelmise näite kasutamiseks tippige päringu kujundusruudustiku reale Väli järgmine tekst:

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

Praegusel juhul Language: on see välja pseudonüüm.

Päringute ja arvutatud väljade loomise kohta leiate lisateavet teemast Lihtsa valikupäringu loomine.

VBA-koodis kasutamine IIf

Märkus.

Järgmised näited kirjeldavad selle funktsiooni kasutamist moodulis Visual Basic for Applications (VBA). VBA-ga töötamise kohta lisateabe saamiseks valige välja Otsing kõrval olevast ripploendist Väärtus Arendaja viide ja sisestage otsinguväljale üks või mitu terminit.

Selles näites IIf kasutatakse funktsiooni protseduuri parameetri CheckIt hindamiseks TestMe ja tagastatakse sõnaLarge, kui summa on suurem kui 1000. Muul juhul tagastab see sõna Small.

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

Veel näiteid

  1. Avaldis:

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

    Tulem: Kui [AirportCode] on "ORD", tagastatakse tulem "Chicago". Muul juhul, kui [AirportCode] see on "ATL", tagastatakse ."Atlanta" Muul juhul, kui [AirportCode] see on "SEA", tagastatakse ."Seattle" Muul juhul tagastatakse ."Other"

  2. Avaldis:

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

    Tulem. Kui [ShipDate] see on varasem kui tänane kuupäev, tagastatakse tulem "Shipped". Muul juhul, kui [ShipDate] see võrdub tänase kuupäevaga, tagastatakse väärtus "Shipping today". Muul juhul tagastatakse ."Unshipped"

  3. Avaldis:

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

    Tulem: kui [PurchaseDate] on varasem kui 1/1/2008, tagastatakse tulem "Old". Muul juhul tagastatakse ."New"

  4. Avaldis:

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

    Tulem. Kui [Volts] on vahemikus 12–15 ja [Amps] on vahemikus 0,25–0,3, tagastatakse tulem "OK". Muul juhul tagastatakse ."Out of calibration"

  5. Avaldis:

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

    Tulem: kui [CountryRegion] on "Canada", "USA"või "Mexico", tagastab tulemi "North America". Muul juhul tagastatakse ."Other"

  6. Avaldis:

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

    Tulem: kui [Average] see on 90 või suurem, tagastatakse väärtus "A". Muul juhul, kui [Average] see on 80 või suurem, tagastatakse väärtus "B". Muul juhul, kui [Average] see on 70 või suurem, tagastatakse väärtus "C". Muul juhul, kui [Average] see on 60 või suurem, tagastatakse väärtus "D". Muul juhul tagastatakse ."F"

Märkus.

Kui loote funktsiooni abil IIf päringus arvutusliku välja, asendage võrdusmärk (=) välja pseudonüümi ja kooloniga (:). Näiteks Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).