Vraća jedan od dva dijela, ovisno o procjeni izraz.
Možete koristiti IIf gdje god možete koristiti izraze. Koristite IIf da biste utvrdili je li neki drugi izraz istinit ili neistinit. Ako je izraz istinit, IIf vraća jednu vrijednost; ako je false, IIf vraća drugi. Navedite vrijednosti koje vraća IIf .
Sintaksa
IIf ( izraz , truepart , falsepart )
Sintaksa funkcije IIf sadrži ove argumente:
Argument |
Opis |
izraz |
Obavezno. Izraz koji želite procijeniti. |
tocan_rezultat |
Obavezno. Vrijednost ili izraz koji se vraća ako je izrazTrue. |
netocan_rezultat |
Obavezno. Vrijednost ili izraz koji se vraća ako je izrazFalse. |
Napomene
IAko uvijek procjenjuje i truepart i falsepart, iako vraća samo jedan od njih. Zbog toga, trebate paziti na neželjene nuspojave. Ako, primjerice, procjena netočnog dijela rezultira dijeljenjem s pogreškom nula, doći će do pogreške čak i ako je izrazTrue.
Primjeri
Korištenje IIf-a na obrascu ili izvješću Pretpostavimo da imate tablicu Kupci koja sadrži polje pod nazivom DržavaRegija. U obrascu želite odrediti je li talijanski prvi jezik kontakta. Kontrolu možete dodati i koristiti IIf u svojstvuIzvor kontrole , ovako:
=IIf([DržavaRegija]="Italija", "talijanski", "Neki drugi jezik")
Kada otvorite obrazac u prikazu obrasca, kontrola prikazuje "talijanski" kad god je vrijednost za DržavaRegija Italija i "Neki drugi jezik" kad god je DržavaRegija bilo koja druga vrijednost.
Korištenje IIf u složenim izrazima Bilo koji izraz možete koristiti kao bilo koji dio IIf naredbe. Možete i "ugnijezditi" izraze IIf , što vam omogućuje procjenu niza zavisnih izraza. Da biste nastavili s prethodnim primjerom, možda ćete htjeti testirati nekoliko različitih vrijednosti DržavaRegija, a zatim prikazati odgovarajući jezik ovisno o tome koja vrijednost postoji:
=IIf([DržavaRegija]="Italija", "talijanski", IIf([DržavaRegija]="Francuska", "francuski", IIf([DržavaRegija]="Njemačka", "Njemački", "Neki drugi jezik")))
Tekst "Neki drugi jezik" argument je falsepart krajnje unutarnje funkcije IIf . Budući da je svaka ugniježđena funkcija IIf argument falsepart funkcije IIf koja ga sadrži, tekst "Neki drugi jezik" vraća se samo ako se svi argumenti izraza svih funkcija IIf vrednuju kao False.
Pretpostavimo da, primjerice, radite u biblioteci. Baza podataka biblioteke sadrži tablicu pod nazivom Odjave koje sadrži polje s nazivom Krajnji rok, koje sadrži datum zbog koji se vraća određeni rok za knjigu. Možete stvoriti obrazac koji označava status odjavljene stavke u kontroli pomoću funkcije IIf u svojstvu Izvor kontrole te kontrole, ovako:
=IIf([Krajnji rok]<Date(),"OVERDUE";IIf([Krajnji rok]=Date(),"Krajnji rok danas";"Još nije rok"))
Kada obrazac otvorite u prikazu obrasca, kontrola prikazuje "OVERDUE" ako je vrijednost krajnjeg roka manja od trenutnog datuma, "Krajnji rok danas" ako je u suprotnom jednak trenutnom datumu, a u suprotnom "Još nije krajnji rok".
Napomena: Da biste u argumentu izraza funkcije IIf koristili logičke operatore kao što su "And" ili "Or", logički izraz morate obuhvatiti funkcijom Eval. Pogledajte ogledne tablice koje slijede.
Korištenje IIf-a u upitu
Funkcija IIf često se koristi za stvaranje izračunatih polja u upitima. Sintaksa je ista, uz iznimku da u upitu morate ispred izraza ispred izraza koristiti pseudonim polja i dvotočku (:) umjesto znaka jednakosti (=). Da biste koristili prethodni primjer, u redak Polje rešetke dizajna upita upišite sljedeće:
Jezik: IIf([DržavaRegija]="Italija", "talijanski", "Neki drugi jezik")
U ovom je slučaju "Jezik:" pseudonim polja.
Dodatne informacije o stvaranju upita i izračunatih polja potražite u članku Stvaranje jednostavnog upita odabiranja.
Koristi IIf u VBA kodu
Napomena: Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Da biste pronašli dodatne informacije o radu s VBA-om, na padajućem popisu uz stavku Traži odaberite stavku Referenca za razvojne inženjere pa unesite jedan ili više izraza u okvir pretraživanja.
U ovom se primjeru funkcija IIf koristi za procjenu parametra TestMe procedure CheckIt i vraća riječ "Veliko" ako je iznos veći od 1000; u suprotnom vraća riječ "Malo".
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small") End Function
Dodatni primjeri
Izraz |
Rezultati |
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other"))) |
Ako je [AirportCode] "ORD", vratite "Chicago". U suprotnom, ako je [AirportCode] "ATL", vratite "Atlanta". U suprotnom, ako je [AirportCode] "SEA", vratite "Seattle". U suprotnom, vratite "Ostalo". |
=IIf([DatumOtpreme]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")) |
Ako je [DatumOtpreme] prije današnjeg datuma, vratite "Otpremljeno". U suprotnom, ako je [DatumOtpreme] jednak današnjem datumu, vratite "Danas otprema". U suprotnom, vrati "Unshipped". |
=IIf([Datum Kupnje]<#1/1/2008#,"Stari";"Novo") |
Ako je [Datum Kupnje] prije 1. 1. 2008., vratite "Stari". U suprotnom, vratite "Novo". |
=IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0,25 And 0,3),"OK","Out of calibration") |
Ako je [Volts] između 12 i 15 i [Amps] između 0,25 i 0,3, vratite "U redu". U suprotnom, vratite "Out of calibration" (Izvan kalibracije). |
=IIf(Eval([DržavaRegija] U ("Kanada";"SAD";"Meksiko")),"Sjeverna Amerika";"Ostalo") |
Ako je [DržavaRegija] "Kanada", "SAD" ili "Meksiko", vratite "Sjeverna Amerika". U suprotnom, vratite "Ostalo". |
=IIf([Prosjek]>=90;"A";IIf([Prosjek]>=80;"B";IIf([Prosjek]>=70;"C";IIf([Prosjek]>=60;"D";"F")))) |
Ako je [Average] 90 ili veći, vratite "A". U suprotnom, ako je [Prosjek] 80 ili veći, vrati "B". U suprotnom, ako je [Prosjek] 70 ili veći, vratite "C". U suprotnom, ako je [Average] 60 ili veći, vrati "D". U suprotnom, vratite "F". |
Napomena: Ako za stvaranje izračunatog polja u upitu koristite funkciju IIf , zamijenite znak jednakosti (=) pseudonimom polja i dvotočkom (:). Na primjer, status: IIf([DatumOtpreme]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))