Funkcija „IIf”

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

Daje jedan od dva dela, u zavisnosti od procene izraza.

Možete da koristite IIf bilo gde gde možete da koristite izraze. Koristite IIf da biste utvrdili da li je drugi izraz tačan ili netačan. Ako je izraz tačan, IIf daje jednu vrednost. Ako ima vrednost "false", IIf daje drugu vrednost. Vi navodite vrednosti koje IIf se vraćaju.

Pogledajte neke primere

Sintaksa

IIf(expr, truepart, falsepart)

Sintaksa IIf funkcije ima sledeće argumente:

Argument Opis
expr Obavezno. Izraz koji želite da proverite.
truepart Obavezno. Vraćena vrednost ili izraz ako expr je True.
falsepart Obavezno. Vraćena vrednost ili izraz ako expr je False.

Napomene

IIf Uvek proverava oba truepart i falsepart, iako vraća samo jedan od njih. Zbog ovakvog ponašanja pazite na neželjene sporedne efekte. Na primer, ako je rezultat izračunavanja falsepart greška deljenja po nuli, greška će se pojaviti čak i ako expr je .True

Primeri

Upotreba IIf u obrascu ili izveštaju

Pretpostavimo da imate tabelu Customers koja sadrži polje pod imenom CountryRegion. U obrascu želite da prikažete da li je italijanski prvi jezik kontakta. Možete dodati kontrolu i koristiti IIf je u njenom Control Source svojstvu:

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

Kada otvorite obrazac u prikazu obrasca, kontrola se prikazuje Italian kad god je Italyvrednost za CountryRegion . Prikazuje Some other language se uvek kada CountryRegion ima bilo koju drugu vrednost.

Korišćenje IIf u složenim izrazima

Možete da koristite bilo koji izraz u bilo kom delu izjave IIf . Možete i da ugnezdite IIf izraze, što vam omogućava da procenite grupu zavisnih izraza. Da biste nastavili sa prethodnim primerom, možda bi trebalo da testirate nekoliko različitih CountryRegion vrednosti, a zatim da prikažete odgovarajući jezik na osnovu vrednosti:

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

Tekst Some other language je falsepart argument najdublje IIf funkcije. Pošto je svaka ugnežđena IIf funkcija argument falsepart funkcije IIf koja je sadrži, tekst Some other language se vraća samo ako svi expr argumenti IIf funkcija daju .False

U drugom primeru pretpostavimo da radite u biblioteci. Baza podataka biblioteke sadrži imenovanu tabelu Check Outs koja sadrži polje pod imenom Due Date, koje sadrži datum kada određena knjiga treba da bude vraćena. Možete da napravite obrazac koji prikazuje status odjavljene stavke u kontroli 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 otvorite obrazac u prikazu obrasca, kontrola prikazuje OVERDUE ako je vrednost Due Date manja od trenutnog datuma, Due today ako je jednaka trenutnom datumu i Not Yet Due ako to nije slučaj.

Napomena

Da biste koristili logičke operatore kao što su And argumenti funkcije ili Or u expr njemu IIf , logički izraz morate da navedete u funkciju Eval . Pogledajte primer tabele koji sledi.

Korišćenje IIf u upitu

Ova IIf funkcija se često koristi za izradu izračunatih polja u upitima. Sintaksa je ista, osim što u upitu ispred polja morate da navedete pseudonim polja i dve tačke (:) umesto znaka jednakosti (=). Da biste upotrebili prethodni primer, otkucajte sledeće u redu " Polje " koordinatne mreže za dizajn upita:

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

U ovom slučaju, Language: to je pseudonim polja.

Dodatne informacije o izradi upita i izračunatih polja potražite u članku " Pravljenje jednostavnog upita za izdvajanje".

Korišćenje IIf u VBA kodu

Napomena

Sledeći primeri pokazuju kako se ova funkcija koristi u Visual Basic for Applications (VBA) modulu. Za više informacija o radu sa VBA modulom izaberite stavku "Referenca razvojnog programera " sa padajuće liste pored stavke "Pretraga", a zatim unesite termine u polje za pretragu.

Ovaj primer koristi funkciju IIf za procenu TestMe parametra CheckIt procedure i vraća reč Large ako je iznos veći od 1000. U suprotnom, funkcija daje reč Small.

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

Dodatni primeri

  1. Izraz:

    =IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))
    

    Rezultat: If [AirportCode] is "ORD", return "Chicago". U suprotnom, ako [AirportCode] jeste "ATL", vraća."Atlanta" U suprotnom, ako [AirportCode] jeste "SEA", vraća."Seattle" U suprotnom, vraća ."Other"

  2. Izraz:

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

    Rezultat: Ako [ShipDate] je pre današnjeg datuma, vraća "Shipped". U suprotnom, ako [ShipDate] je jednak današnjem datumu, vraća se "Shipping today". U suprotnom, vraća ."Unshipped"

  3. Izraz:

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

    Rezultat: Ako [PurchaseDate] je ranije od 1/1/2008, return "Old". U suprotnom, vraća ."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 i [Amps] između 0,25 i 0,3, vraća "OK". U suprotnom, vraća ."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, vraća ."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će, vraća "A". U suprotnom, ako [Average] je 80 ili veće, vraća ."B" U suprotnom, ako [Average] je 70 ili veće, vraća se "C". U suprotnom, ako [Average] je 60 ili veće, vraća ."D" U suprotnom, vraća ."F"

Napomena

Ako funkciju IIf koristite za izradu izračunatog polja u upitu, zamenite znak jednakosti (=) sa pseudonimom polja i dve tačke (:). Na primer, Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).