Prihláste sa s kontom Microsoft
Prihláste sa alebo si vytvorte konto.
Dobrý deň,
Vyberte iné konto.
Máte viacero kont
Vyberte konto, s ktorým sa chcete prihlásiť.

Vráti jednu z dvoch častí v závislosti od vyhodnotenia výraz.

IIf môžete použiť všade, kde môžete použiť výrazy. Funkcia IIf sa používa na určenie, či má iný výraz hodnotu true alebo false. Ak je výraz pravdivý, funkcia IIf vráti jednu hodnotu. Ak je hodnota false, funkcia IIf vráti inú hodnotu. Určíte hodnoty, ktoré funkcia IIf vráti.

Pozrite si niekoľko príkladov

Syntax

IIf ( výraz ; pravda ; nepravda )

Syntax funkcie IIf obsahuje tieto argumenty:

Argument

Popis

výraz

Povinný argument. Výraz, ktorý chcete vyhodnotiť.

truepart

Povinný argument. Hodnota alebo výraz vrátený, ak má výrazhodnotu True.

nepravda

Povinný argument. Hodnota alebo výraz vrátený, ak má výrazhodnotu False.


Poznámky

IIf vždy vyhodnotí truepart aj falsepart, aj keď vráti len jednu z nich. Z tohto dôvodu by ste mali sledovať nežiaduce vedľajšie účinky. Ak napríklad výsledkom vyhodnotenia nepravdy je delenie nulou, chyba sa vyskytne aj v prípade, že výrazhodnotu True.

Príklady

Použitie funkcie IIf vo formulári alebo zostave    Predpokladajme, že máte tabuľku Zákazníci, ktorá obsahuje pole s názvom KrajinaOblasť. Vo formulári chcete označiť, či je taliančina prvým jazykom kontaktu. Ovládací prvok môžete pridať a použiť IIf vo vlastnosti Zdroj ovládacieho prvku , napríklad takto:

=IIf([KrajinaOblasť]="Taliansko"; "Taliančina"; "Iný jazyk")

Keď otvoríte formulár vo formulárovom zobrazení, ovládací prvok zobrazí hodnotu "Taliančina" vždy, keď hodnota pre CountryRegion je Taliansko, a "Nejaký iný jazyk" vždy, keď CountryRegion je ľubovoľná iná hodnota.

Použitie funkcie IIf v zložitých výrazoch    Ľubovoľný výraz môžete použiť ako ľubovoľnú časť príkazu IIf . Môžete tiež "vnoriť" výrazy IIf , čo vám umožní vyhodnotiť rad závislých výrazov. Ak chcete pokračovať v predchádzajúcom príklade, môžete testovať niekoľko rôznych hodnôt KrajinaOblasť a potom zobraziť príslušný jazyk v závislosti od toho, ktorá hodnota existuje:

=IIf([KrajinaOblasť]="Taliansko", "Taliančina", IIf([KrajinaOblasť]="Francúzsko"; "Francúzština", IIf([KrajinaOblasť]="Nemecko"; "Nemčina"; "Iný jazyk")))

Text "Iný jazyk" je argument nepravdivej časti najvnútornejšej funkcie IIf . Keďže každá vnorená funkcia IIf je argumentom nepravdivej časti funkcie IIf , ktorý ju obsahuje, text "Iný jazyk" sa vráti len vtedy, ak sa všetky argumenty výrazu všetkých funkcií IIf vyhodnotia na hodnotu False.

Predpokladajme napríklad, že pracujete v knižnici. Knižničná databáza obsahuje tabuľku s názvom Vzatie z projektu, ktorá obsahuje pole s názvom Termín dokončenia, ktoré obsahuje dátum, kedy sa má vrátiť konkrétna kniha. Môžete vytvoriť formulár, ktorý označuje stav položky vzatej z projektu v ovládacom prvku pomocou funkcie IIf vo vlastnosti Zdroj ovládacieho prvku, napríklad takto:

=IIf([Termín dokončenia]<Dátum();"PO TERMÍNE";IIf([Termín dokončenia]=Dátum();"Termín dokončenia dnes";"Ešte neuhradené"))

Keď otvoríte formulár vo formulárovom zobrazení, ovládací prvok zobrazí hodnotu "OVERDUE", ak je hodnota termínu dokončenia menšia ako aktuálny dátum, termín "Termín dokončenia dnes", ak sa rovná aktuálnemu dátumu, a v opačnom prípade hodnota Nie je ešte splatná.

Poznámka: Ak chcete v argumente výrazu funkcie IIf použiť logické operátory, ako napríklad "And" alebo "Or", musíte logický výraz uzavrieť do funkcie Eval. Pozrite si príklad tabuľky, ktorá nasleduje.

Použitie IIf v dotaze    

Funkcia IIf sa často používa na vytváranie vypočítavaných polí v dotazoch. Syntax je rovnaká, až na výnimku, že v dotaze musíte výraz predpísať aliasom poľa a dvojbodkou (:) namiesto znamienka rovnosti (=). Ak chcete použiť predchádzajúci príklad, do riadka Pole v mriežke návrhu dotazu zadajte nasledujúci text:

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

V tomto prípade je "Language:" alias poľa.

Ďalšie informácie o vytváraní dotazov a vypočítavaných polí nájdete v článku Vytvorenie jednoduchého výberového dotazu.

Použitie IIf v kóde VBA    

Poznámka: Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

V tomto príklade je funkcia IIf použitá na vyhodnotenie parametra TestMe procedúry CheckIt a vráti slovo Veľké, ak je hodnota väčšia ako 1 000. v opačnom prípade vráti slovo "Malé".

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

Ďalšie príklady

Výraz

Výsledky

=IIf([AirportCode]="ORD";"Chicago";IIf([Kód Letiska]="ATL";"Atlanta",IIf([Kód Letiska]="SEA";"Seattle";"Iné")))

Ak [AirportCode] je "ORD", vráť "Chicago". V opačnom prípade, ak [AirportCode] je "ATL", vráť "Atlanta". V opačnom prípade, ak [AirportCode] je "SEA", vráť "Seattle". V opačnom prípade vráťte hodnotu "Iné".

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

Ak je [ShipDate] skorší ako dnešný dátum, vráťte hodnotu "Odoslané". V opačnom prípade, ak sa hodnota [ShipDate] rovná dnešnému dátumu, vráťte hodnotu "Dnes odoslanie". V opačnom prípade vráťte "Unshipped" (Nezašiť).

=IIf([Dátum Zakúpenia]<#1.1.2008#;"Starý";"Nový")

Ak je [PurchaseDate] skorší ako 1.1.2008, vráťte hodnotu Starý. V opačnom prípade vráťte "New" (Nové).

=IIf(Eval([Volty] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK";"Mimo kalibrácie")

Ak [Volts] je medzi 12 a 15 a [Amps] je medzi 0,25 a 0,3, vráťte "OK". V opačnom prípade vráťte hodnotu "Mimo kalibrácie".

=IIf(Eval([KrajinaOblasť] In ("Kanada";"USA";"Mexiko"));"Severná Amerika";"Iné")

Ak je [KrajinaOblasť] "Kanada", "USA" alebo "Mexiko", vráť "Severná Amerika". V opačnom prípade vráťte hodnotu "Iné".

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

Ak je hodnota [Priemer] 90 alebo väčšia, vráťte hodnotu A. V opačnom prípade, ak [Priemer] má hodnotu 80 alebo väčšiu, vráť hodnotu B. V opačnom prípade, ak [Priemer] má hodnotu 70 alebo väčšiu, vráť hodnotu C. V opačnom prípade, ak [Priemer] má hodnotu 60 alebo väčšiu, vráť hodnotu D. V opačnom prípade vráťte hodnotu F.

Poznámka: Ak používate funkciu IIf na vytvorenie vypočítavaného poľa v dotaze, nahraďte znamienko rovnosti (=) aliasom poľa a dvojbodkou (:). Napríklad Stav: IIf([DátumOdodávky]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today";"Unshipped"))

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?
Stlačením tlačidla Odoslať sa vaše pripomienky použijú na zlepšenie produktov a služieb spoločnosti Microsoft. Váš správca IT bude môcť tieto údaje zhromažďovať. Vyhlásenie o ochrane osobných údajov.

Ďakujeme za vaše pripomienky!

×