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.

Možete koristiti IIf bilo gdje gdje možete koristiti izraze. Koristi IIf se za utvrđivanje je li neki drugi izraz istinit ili neistinit. Ako je vrijednost izraza TRUE, IIf vraća jednu vrijednost. Ako je false, IIf vraća drugu vrijednost. Navodite vrijednosti koje će IIf se vratiti.

Pogledajte nekoliko primjera

Sintaksa

IIf(expr, truepart, falsepart)

Sintaksa IIf funkcije sadrži ove argumente:

Argument Opis
expr Obavezno. Izraz koji želite vrednovati.
truepart Obavezno. Vrijednost ili izraz koji se vraća ako expr je .True
falsepart Obavezno. Vrijednost ili izraz koji se vraća ako expr je .False

Napomene

IIf Uvijek vrednuje obje truepart stavke i falsepart, iako vraća samo jedno od njih. Zbog takvog ponašanja pripazite na neželjene nuspojave. Na primjer, ako procjena falsepart rezultira pogreškom dijeljenja po nuli, pogreška se pojavljuje čak i ako expr je .True

Primjeri

Korištenje IIf na obrascu ili izvješću

Pretpostavimo da imate tablicu Customers koja sadrži polje naziva CountryRegion. U obrascu želite prikazati je li talijanski prvi jezik kontakta. Kontrolu možete dodati i koristiti IIf u njezinu Control Source svojstvu:

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

Kada obrazac otvorite u prikazu obrasca, kontrola se prikazuje Italian svaki put kada je vrijednost za CountryRegion .Italy Prikazuje se Some other language kad god CountryRegion ima bilo koju drugu vrijednost.

Korištenje IIf u složenim izrazima

U bilo kojem dijelu izjave možete koristiti bilo koji izraz.IIf Možete i ugnježđivati IIf izraze, što vam omogućuje procjenu niza zavisnih izraza. Da biste nastavili s prethodnim primjerom, možda ćete htjeti testirati nekoliko različitih CountryRegion vrijednosti, a zatim prikazati odgovarajući jezik na temelju vrijednosti:

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

Tekst Some other language je falsepart argument krajnje IIf unutarnje funkcije. Budući da je svaka ugniježđena IIf funkcija argument IIf funkcije koja je sadrži, tekst Some other language se vraća samo ako su svi expr argumenti IIf funkcija vrednovani kao False.falsepart

U drugom primjeru, pretpostavimo da radite u biblioteci. Baza podataka biblioteke sadrži tablicu naziva Check Outs koja sadrži polje pod nazivom Due Date, koje sadrži datum povratka određene knjige. Obrazac koji prikazuje status odjavljene stavke u kontroli možete stvoriti pomoću IIf funkcije u svojstvu te kontrole Control Source :

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

Kada obrazac otvorite u prikazu obrasca, kontrola prikazuje OVERDUE ako je vrijednost Due Date manja od trenutnog datuma, Due today je li jednaka trenutnom datumu i Not Yet Due u suprotnom slučaju.

Napomena

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

Korištenje IIf u upitu

Funkcija IIf se često koristi za stvaranje izračunatih polja u upitima. Sintaksa je jednaka, osim što u upitu morate izrazu unaprijed unijeti pseudonim polja i dvotočku (:), a ne znak jednakosti (=). U prethodnom primjeru u redak Polje dizajnerske rešetke upita upišite sljedeće:

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

U ovom je slučaju Language: to 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

Sljedeći primjeri pokazuju kako koristiti tu funkciju 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 Pretraživanje odaberite Referenca za razvojne inženjere pa u okvir za pretraživanje unesite jedan ili više izraza.

U ovom se primjeru IIf funkcija koristi za procjenu TestMe parametra CheckIt postupka i vraća riječ Large ako je iznos veći od 1000. U suprotnom vraća riječ Small.

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","Other")))
    

    Rezultat: ako [AirportCode] je "ORD", return "Chicago". U suprotnom, ako [AirportCode] je , "ATL"vrati "Atlanta". U suprotnom, ako [AirportCode] je , "SEA"vrati "Seattle". U suprotnom vratite "Other".

  2. Izraz:

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

    Rezultat: ako [ShipDate] je prije današnjeg datuma, vrati "Shipped". U suprotnom, ako [ShipDate] je jednak današnjem datumu, vrati "Shipping today". U suprotnom vratite "Unshipped".

  3. Izraz:

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

    Rezultat: ako [PurchaseDate] je prije , 1/1/2008return "Old". U suprotnom vratite "New".

  4. Izraz:

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

    Rezultat: ako [Volts] je između 12 i 15 te [Amps] je između 0,25 i 0,3, vrati "OK". U suprotnom vratite "Out of calibration".

  5. Izraz:

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

    Rezultat: ako [CountryRegion] je "Canada", "USA", ili "Mexico", return "North America". U suprotnom vratite "Other".

  6. Izraz:

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

    Rezultat: ako [Average] je 90 ili veći, vrati "A". U suprotnom, ako [Average] je 80 ili veći, vratite ."B" U suprotnom, ako [Average] je 70 ili veći, return "C". U suprotnom, ako [Average] je 60 ili veći, vratite ."D" U suprotnom vratite "F".

Napomena

Ako funkciju IIf koristite za stvaranje izračunatog polja u upitu, zamijenite znak jednakosti (=) pseudonimom polja i dvotočkom (:). Na primjer, Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).