Vrne enega od dveh delov, odvisno od ocene izraz.
IIf lahko uporabite kjer koli, kjer lahko uporabite izraze. Z IIf določite , ali je drug izraz resničen ali neresničen. Če je izraz resničen, vrne IIf eno vrednost; če je neresnično, IIf vrne še eno. Določite vrednosti, ki jih vrne IIf .
Sintaksa
IIf ( izraz , resnični del , neresničen del )
Sintaksa funkcije IIf ima te argumente:
Argument |
Opis |
izraz |
Obvezen. Izraz, ki ga želite ovrednotiti. |
truepart |
Obvezen. Vrednost ali izraz, ki je vrnjen , če je izraz»True«. |
falsepart |
Obvezen. Vrednost ali izraz, ki je vrnjen , če je izrazFalse. |
Opombe
IIf vedno ovrednoti tako resnični del kottudi neresničen del, čeprav vrne le enega od njih. Zato bodite pozorni na neželene stranske učinke. Če na primer rezultat vrednotenja »falsepart « vrne napako deljenja z nič, pride do napake, tudi če je izraz»True«.
Primeri
Uporaba funkcije IIf v obrazcu ali poročilu Denimo, da imate tabelo »Stranke«, ki vsebuje polje »DržavaObmočje«. V obrazcu želite določiti, ali je italijanščina prvi jezik stika. Kontrolnik lahko dodate in uporabite IIf v lastnostiVir kontrolnika , na primer:
=IIf([DržavaRegija]="Italija"; "Italijanščina"; "Drug jezik")
Ko odprete obrazec v pogledu obrazca, kontrolnik prikaže »Italijanščina«, kadar koli je vrednost za »DržavaRegija« Italija in »Drug jezik«, kadar koli je vrednost »DržavaRegija« katera koli druga vrednost.
Uporaba funkcije IIf v zapletenih izrazih Poljuben izraz lahko uporabite kot kateri koli del izjave IIf . Izraze IIf lahko tudi ugnezdite , kar vam omogoča, da ovrednotite niz odvisnih izrazov. Če želite nadaljevati s prejšnjim primerom, preskusite več različnih vrednosti »DržavaRegija« in nato prikažite ustrezen jezik, odvisno od tega, katera vrednost obstaja:
=IIf([DržavaRegija]="Italija"; "Italijanščina"; IIf([DržavaRegija]="Francija"; "Francoščina"; IIf([DržavaRegija]="Nemčija"; "Nemščina"; "Drug jezik")))
Besedilo »Drug jezik« je argument »falsepart « notranje funkcije IIf . Ker je vsaka ugnezdena funkcija IIf argument falsepart funkcije IIf , ki jo vsebuje, je besedilo »Drug jezik« vrnjeno le, če so vsi argumenti expr vseh funkcij IIf ovrednoteni kot False.
Recimo, da delate v knjižnici. V zbirki podatkov knjižnice je tabela z imenom Rezerviraj, ki vsebuje polje z imenom Rok, ki vsebuje datum, ko morate vrniti določen zvezek. Obrazec, ki označuje stanje rezerviranega elementa v kontrolniku, lahko ustvarite tako, da uporabite funkcijo IIf v lastnosti Vir kontrolnika tega kontrolnika:
=IIf([Rok]<Date(),"ZAPADLO",IIf([Rok]=Date(),"Rok danes","Še ni zapadlo"))
Ko odprete obrazec v pogledu obrazca, kontrolnik prikaže »ZAPADLO«, če je vrednost za Rok manjša od trenutnega datuma, »Rok danes«, če je enak trenutnemu datumu, in »Še ni zapadlo«.
Opomba: Če želite v argumentu izraza funkcije IIf uporabiti logične operatorje, kot je »And« ali »Or«, morate logični izraz postaviti v funkcijo Eval. Oglejte si vzorčno tabelo, ki sledi.
Uporaba funkcije IIf v poizvedbi
Funkcija IIf se pogosto uporablja za ustvarjanje izračunanih polj v poizvedbah. Sintaksa je enaka, z izjemo, da morate v poizvedbi pred izraz dodati vzdevek polja in dvopičje (:) namesto enačaja (=). Če želite uporabiti prejšnji primer, v vrstico Polje mreže načrta poizvedbe vnesite to:
Jezik: IIf([DržavaRegija]="Italija";"Italijanščina"; "Drug jezik")
V tem primeru je »Jezik:« vzdevek polja.
Če želite več informacij o ustvarjanju poizvedb in izračunanih polj, si oglejte članek Ustvarjanje preproste poizvedbe za izbiranje.
Uporaba funkcije IIf v kodi VBA
Opomba: V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA). Če želite več informacij o delu z modulom VBA, izberite Vsebina za razvijalce na spustnem seznamu ob možnosti Iskanje in v iskalno polje vnesite enega ali več izrazov.
V tem primeru je funkcija IIf uporabljena za ovrednotenje parametra TestMe procedure CheckIt in vrne besedo »Velika«, če je količina večja od 1000; v nasprotnem primeru vrne besedo »Majhno«.
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small") End Function
Več primerov
Izraz |
Rezultati |
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other"))) |
Če je [AirportCode] "ORD", vrni "Chicago". V nasprotnem primeru, če je [AirportCode] "ATL", vrni "Atlanta". Če pa je [AirportCode] "SEA", vrni »Seattle«. V nasprotnem primeru vrni »Drugo«. |
=IIf([DatumPošiljanja]<Date(),"Odposlano",IIf([DatumPošiljanja]=Date(),"Dostava danes","Nedostavljeno")) |
Če je [DatumPošiljanja] pred današnjim datumom, vrni »Odposlano«. V nasprotnem primeru, če je [DatumPošiljanja] enak današnjem datumu, vrni »Pošlji danes«. V nasprotnem primeru vrni »Nedostavljeno«. |
=IIf([Datum Nakup]<#1/1/2008#,"Staro","Novo") |
Če je [DatumNaročila] pred 1. 1. 2008, vrni »Staro«. V nasprotnem primeru vrni »Novo«. |
=IIf(Eval([Volts] Med 12 in 15 in [Amps] Med 0,25 in 0,3), "V redu","Iz umerjanja") |
Če je [V] med 12 in 15 in je [Amps] med 0,25 in 0,3, vrni »V redu«. V nasprotnem primeru vrni »Iz umerjanja«. |
=IIf(Eval([DržavaRegija] V ("Kanada","ZDA","Mehika")),"Severna Amerika","Drugo") |
Če je [DržavaRegija] »Kanada«, »ZDA« ali »Mehika«, se vrnite »Severna Amerika«. V nasprotnem primeru vrni »Drugo«. |
=IIf([Povprečje]>=90,"A",IIf([Povprečje]>=80,"B",IIf([Povprečje]>=70,"C",IIf([Povprečje]>=60;"D","F")))) |
Če je [Povprečje] 90 ali več, vrni »A«. Če pa je [Povprečje] 80 ali več, vrni »B«. Če pa je [Povprečje] 70 ali več, vrni »C«. Če pa je [Povprečje] 60 ali več, vrni »D«. V nasprotnem primeru vrni »F«. |
Opomba: Če uporabljate funkcijo IIf za ustvarjanje izračunanega polja v poizvedbi, zamenjajte enačaj (=) z vzdevek polja in dvopičje (:). Na primer stanje : IIf([DatumPošiljanja]<Date(),"Odposlano",IIf([DatumPošiljanja]=Datum(),"Danesšnja dostava"; "Nepreposlano"))