Daje jedan od dva dela, u zavisnosti od procene izraza.
Funkciju IIf možete da koristite na svim mestima na kojima možete da koristite izraze. Funkciju IIf koristite kako biste utvrdili da li je drugi izraz tačan ili netačan. Ako je izraz tačan, funkcija IIf vraća jednu vrednost; ako je netačan, funkcija IIfvraća drugu. Vrednosti koje će funkcija IIf vraćati navodite sami.
Sintaksa
IIf(izraz,tačni deo,netačni deo)
Sintaksa funkcije IIf ima sledeće argumente:
| Argument | Opis |
|---|---|
| expr | Obavezno. Izraz koji želite da proverite. |
| tačandeo | Obavezno. Vraćena vrednost ili izraz ako izraz ima vrednost True. |
| netačnideo | Obavezno. Vraćena vrednost ili izraz ako izraz ima vrednost False. |
Napomene
Funkcija IIf uvek procenjuje i tačad i netačanost, iako vraća samo jedan od njih. Zbog toga treba da pazite na neželjene sporedne efekte. Na primer, ako procena netačajnog segmenta kao rezultat daje grešku deljenja nulom, do greške dolazi čak i ako izraz ima vrednost True.
Primeri
Korišćenje funkcije IIf u obrascu ili izveštaju Pretpostavimo da imate tabelu "Klijenti" koja sadrži polje pod imenom "ZemljaRegion". U obrascu želite da utvrdite da li je italijanski jezik prvi jezik kontakta. Možete da dodate kontrolu i da koristite funkciju IIf u svojstvu Izvor kontrole, ovako:
=IIf([DržavaRegion]=“Italija“, “Italijanski“, “Neki drugi jezik“)
Kada taj obrazac otvorite u prikazu obrasca, kontrola prikazuje „Italijanski“ kad god je vrednost u polju DržavaRegion jednaka „Italija“, a „Neki drugi jezik“ kad god u polju DržavaRegion stoji neka druga vrednost.
Korišćenje funkcije IIf u složenim izrazima Bilo koji izraz možete da koristite kao bilo koji deo IIf izjave . Možete i da "ugnezdite" IIf izraze što vam omogućava da procenite niz zavisnih izraza. Da biste nastavili sa prethodnom primerom, možda ćete želeti da testirate nekoliko različitih vrednosti "ZemljaRegion", a zatim prikažete odgovarajući jezik u zavisnosti od toga koja vrednost postoji:
=IIf([DržavaRegion]="Italija", "Italijanski", IIf([DržavaRegion]="Francuska", "Francuski", IIf([DržavaRegion]="Nemačka", "Nemački", "Neki drugi jezik")))
Tekst "Neki drugi jezik" je argument netačanika krajnje unutrašnje funkcije IIf . Pošto je svaka ugnežđena funkcija IIf argument netačanika funkcije IIf koja je sadrži, tekst "Neki drugi jezik" se vraća samo ako svi argumenti izraz svih funkcija IIf daju vrednost "Netačno".
U drugom primeru pretpostavimo da radite u biblioteci. Baza podataka biblioteke sadrži tabelu po imenu „Odjave“ koja sadrži polje „Krajnji rok“ sa datumom kada određena knjiga treba da bude vraćena. Možete da kreirate obrazac koji ukazuje na status odjavljene stavke u kontroli pomoću funkcije IIf u svojstvu Izvor kontrole te kontrole, ovako:
=IIf([Krajnji rok]<Date(),"Kasni",IIf([Krajnji rok]=Date(),"Krajnji rok","Još nije krajnji rok"))
Kad otvorite obrazac u prikazu obrasca, kontrola prikazuje „PREKORAČEN ROK“ ako je vrednost „Krajnji rok“ manja od trenutnog datuma, „Rok je danas“ ako je jednaka i „Još nije rok“ ako je veća.
Napomena
Da biste koristili logičke operatore kao što su "And" ili "Ili" u argumentu izraz funkcije IIf , morate da stavite logički izraz u funkciju Eval . Pogledajte primer tabele koja sledi.
Korišćenje funkcije IIf u upitu
Funkcija IIf se često koristi za izradu izračunatih polja u upitima. Sintaksa je ista, osim što u upitu ispred izraza morate da nametnete pseudonim polja i dvotačku (:) umesto znaka jednakosti (=). Da biste upotrebili prethodni primer, upisali biste sledeće u red Polje koordinatne mreže za dizajn upita:
Jezik: IIf([DržavaRegija]="Italija", "Italijanski", "Neki drugi jezik")
U ovom slučaju, „Jezik:“ je pseudonim polja.
Više informacija o kreiranju upita i izračunatih polja potražite u članku Kreiranje jednostavnog upita za izdvajanje.
Korišćenje funkcije IIf u VBA kodu
Napomena
Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu. Ako vam je potrebno više informacija o radu sa VBA modulom, izaberite stavku Referenca razvojnog programera sa padajuće liste pored stavke Pretraga i unesite termine u polje za pretragu.
U ovom primeru funkcija IIf se koristi za proveravanje parametra TestirajMe procedure Proverii vraća reč „Veliko“ ako je iznos veći od 1000. U suprotnom vraća reč „Malo“.
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
Dodatni primeri
Izraz:
=IIf([KodAerodroma]="ORD","Čikago",IIf([KodAerodroma]="ATL","Atlanta",IIf([KodAerodroma]="SEA","Sijetl","Drugo")))
Rezultat:
Ako je [KodAerodroma] jednak „ORD“, vraća „Čikago“. U suprotnom, ako je [KodAerodroma] jednak „ATL“, vraća „Atlanta“. U suprotnom, ako je [KodAerodroma] jednak „SEA“, vraća „Sijetl“. U suprotnom vraća „Drugo“.
Izraz:
=IIf([DatumIsporuke]<Date(),"Isporučeno",IIf([DatumIsporuke]=Date(),"Isporučeno danas","Nije isporučeno"))
Rezultat:
Ako je [DatumIsporuke] pre današnjeg datuma, vraća „Isporučeno“. U suprotnom, ako je [DatumIsporuke] jednak današnjem datumu, vraća „Isporučeno danas“. U suprotnom vraća „Nije isporučeno“.
Izraz:
=IIf([Datum Kupovine]<#1/1/2008#,"Staro","Novo")
Rezultat:
Ako je [Datum Kupovine] pre 1.1.2008., vraća "Staro". U suprotnom vraća "Novo".
Izraz:
=IIf(Eval([Volti] Between 12 And 15 And [Amperi] Between 0,25 And 0,3),"U redu","Nije kalibrisano")
Rezultat:
Ako je [Volti] između 12 i 15 a [Amperi] između 0.25 i 0.3, vraća „U redu“. U suprotnom vraća „Nije kalibrisano“.
Izraz:
=IIf(Eval([DržavaRegion] In ("Kanada","SAD","Meksiko")),"Severna Amerika","Drugo")
Rezultat:
Ako je [DržavaRegion] jednako „Kanada“, „SAD“ ili „Meksiko“, vraća „Severna Amerika“. U suprotnom vraća „Drugo“.
Izraz:
=IIf([Prosek]>=90,"A",IIf([Prosek]>=80,"B",IIf([Prosek]>=70,"C",IIf([Prosek]>=60,"D","F"))))
Rezultat:
Ako je [Prosek] 90 ili više, vraća "A". U suprotnom, ako je [Prosek] jednako 80 ili veće, vraća „B“. U suprotnom, ako je [Prosek] jednako 70 ili veće, vraća „C“. U suprotnom, ako je [Prosek] jednako 60 ili veće, vraća „D“. U suprotnom vraća „F“.
Napomena
Ako koristite funkciju IIf za kreiranje izračunatog polja u upitu, zamenite znak jednakosti (=) pseudonimom polja i dvotačkom (:). Na primer, status: IIf([DatumIsporuke]<Date(),"Isporučeno",IIf([DatumIsporuke]=Date(),"Isporučeno danas","Nije isporučeno"))