Funkcija IIf

Primjenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vraća jedan od dva rezultata, ovisno o vrednovanju izraza.

Funkciju IIf možete koristiti svugdje gdje možete koristiti izraze. Funkcija IIf koristite da biste utvrdili je li neki drugi izraz istinit ili neistinit. Ako je vrijednost izraza istinita, funkcija IIf vraća jednu vrijednost; ako je false, funkcija IIf vraća drugu. Navodite vrijednosti koje vraća IIf .

Pogledajte nekoliko primjera

Sintaksa

IIf(izraz;točan_dio,netocan_dio)

Sintaksa funkcije IIf sadrži ove argumente:

Argument Opis
izraz Obavezno. Izraz koji želite vrednovati.
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

Funkcija IIf uvijek procjenjuje i truepart i falsepart, čak i ako vraća samo jednu od njih. Zbog toga biste trebali paziti na neželjene nuspojave. Ako, primjerice, vrednovanje vrijednosti false rezultira pogreškom dijeljenja s nulom, doći će do pogreške čak i ako je izrazTrue.

Primjeri

Korištenje funkcije IIf na obrascu ili izvješću Pretpostavimo da imate tablicu Klijenti koja sadrži polje pod nazivom DržavaRegija. U obrascu želite naznačiti je li talijanski prvi jezik kontakta. Možete dodati kontrolu i koristiti IIf u njezinu svojstvu Izvor kontrole , i to ovako:

=IIf([ZemljaRegija]="Italija", "talijanski", "Neki drugi jezik")

Kada obrazac otvorite u prikazu obrasca, kontrola prikazuje "Talijanski" svaki put kada je vrijednost za DržavaRegija Italija i "Neki drugi jezik" svaki put kada je vrijednost ZemljaRegija bilo koja druga vrijednost.

Korištenje funkcije IIf u složenim izrazima Kao bilo koji dio IIf naredbe možete koristiti bilo koji izraz. Možete i "ugnijezditi" IIf izraze, što vam omogućuje procjenu niza zavisnih izraza. Da biste nastavili s prethodnim primjerom, preporučuje se da testirate nekoliko različitih vrijednosti za DržavaRegija, a zatim prikažete odgovarajući jezik ovisno o tome koja vrijednost postoji:

=IIf([ZemljaRegija]="Italija", "Talijanski", IIf([RegijaDržava]="Francuska", "francuski", IIf([RegijaDržava]="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 je sadrži, tekst "Neki drugi jezik" vraća se samo ako su svi argumenti izraza svih funkcija IIf vrednovani kao False.

U drugom primjeru, pretpostavimo da radite u biblioteci. Baza podataka biblioteke sadrži tablicu pod nazivom Odjave koja sadrži polje pod nazivom Krajnji rok koji sadrži datum povrata određene knjige. Možete stvoriti obrazac koji označava status odjavljene stavke u kontroli pomoću funkcije IIf u svojstvu Izvor kontrole te kontrole, i to ovako:

=IIf([Krajnji rok]<Date();"PREKORAČENO";IIf([Krajnji rok]=Date();"Danas dospijeće";"Još nije dospijeće"))

Kada obrazac otvorite u prikazu obrasca, kontrola prikazuje "PREKORAČEN" ako je vrijednost argumenta Krajnji rok manja od trenutnog datuma, "Rok danas" ako je jednak trenutnom datumu i "Još nije dospijeće" u suprotnom.

Napomena

Da biste koristili logičke operatore kao što su "And" ili "Or" u argumentu izraz funkcije IIf , logički izraz morate zatvoriti u funkciju Eval . Pogledajte oglednu tablicu u nastavku.

Korištenje funkcije IIf u upitu

Funkcija IIf često se koristi za stvaranje izračunatih polja u upitima. Sintaksa je ista, osim što u upitu morate prije izraza dodati pseudonim polja i dvotočku (:) umjesto znaka jednakosti (=). U prethodnom primjeru 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.

Korištenje funkcije IIf u kodu programskog jezika VBA

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 pomoću funkcije IIf izračunava parametar TestMe postupka CheckIt i vraća riječ "Veliko" ako je iznos veći od 1000. u suprotnom vraća riječ "Small" (Malo).


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

Dodatni primjeri

  1. Izraz:

    =IIf([AirportCode]="ORD";"Chicago";IIf([AirportCode]="ATL";"Atlanta";IIf([AirportCode]="SEA";"Seattle";"Ostalo")))

    Rezultat:

    Ako je [AirportCode] "ORD", vratite "Chicago". U suprotnom, ako [AirportCode] ima vrijednost "ATL", vratite "Atlanta". U suprotnom, ako [AirportCode] ima vrijednost "SEA", vratite "Seattle". U suprotnom vratite "Ostalo".

  2. Izraz:

    =IIf([DatumIsporuke]<Date();"Otpremljeno";IIf([DatumIsporuke]=Date();"Otprema danas";"Neotpremljeno"))

    Rezultat:

    Ako je argument [DatumOtpreme] prije današnjeg datuma, vrati "Otpremljeno". Ako je u suprotnom vrijednost [DatumOtpreme] jednaka današnjem datumu, vratite "Otprema danas". U suprotnom vratite "Nije otpremljeno".

  3. Izraz:

    =IIf([DatumKupnje]<#1/1/2008#,"Staro","Novo")

    Rezultat:

    Ako je datum kupnje prije datuma [1. 1. 2008., vratite "Staro". U suprotnom vratite "Novo".

  4. Izraz:

    =IIf(Eval([Vti] između 12 i 15 i [Amper] Između 0,25 i 0,3);"U redu";"Izvan kalibracije")

    Rezultat:

    Ako je [Volti] između 12 i 15, a [Amper] između 0,25 i 0,3, vratite "U redu". U suprotnom vratite "Out of calibration" (Nije kalibrirano).

  5. Izraz:

    =IIf(Eval([DržavaRegija] In ("Kanada";"SAD";"Meksiko"));"Sjeverna Amerika";"Ostalo")

    Rezultat:

    Ako je [ZemljaRegija] "Kanada", "SAD" ili "Meksiko", vratite "Sjeverna Amerika". U suprotnom vratite "Ostalo".

  6. Izraz:

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

    Rezultat:

    Ako je vrijednost [Average] 90 ili veća, prikaži "A". U suprotnom, ako je vrijednost [Average] 80 ili veća, prikaži "B". U suprotnom ako je [Average] 70 ili veći (70), prikaži "C". U suprotnom ako je vrijednost [Average] 60 ili veća, prikaži "D". U suprotnom vratite "F".

Napomena

Ako koristite funkciju IIf za stvaranje izračunatog polja u upitu, zamijenite znak jednakosti (=) pseudonimom polja i dvotočkom (:). Na primjer, Status: IIf([DatumOtpreme]<Date(),"Otpremljeno",IIf([DatumIsporuke]=Date(),"Otprema danas","Neotpremljeno"))