IIf függvény

Hatókör
Microsoft 365-höz készült Access Access 2024 Access 2021 Access 2019 Access 2016

A kifejezés kiértékelésétől függően két rész egyikével tér vissza.

Bárhol használhat IIf kifejezéseket. Annak IIf megállapítására használható, hogy egy másik kifejezés igaz vagy hamis. Ha a kifejezés igaz, egy IIf értéket ad vissza. Ha hamis, IIf egy másik értéket ad vissza. Ön adja meg az eredményül kapott értékeket IIf .

További példák megtekintése

Szintaxis

IIf(expr, truepart, falsepart)

A IIf függvény szintaxisa az alábbi argumentumokat foglalja magában:

argumentumok Leírás
expr Kötelező megadni. A kiértékelendő kifejezés.
truepart Kötelező megadni. A visszaadott érték vagy kifejezés, ha expr .True
falsepart Kötelező megadni. A visszaadott érték vagy kifejezés, ha expr .False

Megjegyzések

IIf mindig mindkettőt truepartfalsepartés értéket értékeli, még akkor is, ha csak az egyiket adja vissza. Az ilyen viselkedés miatt figyeljen a nemkívánatos mellékhatásokra. Ha például nulla osztási hibával értékeli falsepart az eredményt, akkor is előfordul hiba, ha expr .True

Példák

Használat IIf űrlapon vagy jelentésen

Tegyük fel, hogy van egy Customers táblája, amelyben szerepel egy .CountryRegion Egy űrlapon azt szeretné megjeleníteni, hogy a partner első nyelve olasz. Hozzáadhat egy vezérlőelemet, és használhatja IIf a tulajdonságában Control Source :

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

Amikor megnyitja az űrlapot Űrlap nézetben, a vezérlő akkor jelenik megItalian, ha a .CountryRegionItaly Ha bármilyen más értéket tartalmaz, akkor CountryRegion jelenik megSome other language.

Használat IIf összetett kifejezésekben

Bármilyen kifejezést használhat az IIf utasítások bármely részében. Kifejezéseket is egymásba ágyazhat IIf , ami lehetővé teszi függő kifejezések sorozatának kiértékelését. Az előző példával folytatva célszerű lehet több különböző CountryRegion értéket tesztelni, majd az érték alapján megjeleníteni a megfelelő nyelvet:

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

A szöveg Some other language a falsepart legbelső IIf függvény argumentuma. Mivel minden beágyazott IIf függvény az falsepart őket tartalmazó függvény argumentumaIIf, a függvény csak akkor adja vissza a szövegetSome other language, ha a IIf függvények összes expr argumentumának eredménye False.

Tegyük fel, hogy egy könyvtárban dolgozik. A könyvtár adatbázisának van egy táblája, amely Check Outs tartalmaz egy , a nevű Due Date, mezőt, amely azt a dátumot tartalmazza, amikor egy adott könyv visszaküldési dátuma lesz. A vezérlőelem Control Source tulajdonságában lévő függvény használatával IIf létrehozhat olyan űrlapot, amely egy vezérlőelem kivett elemének állapotát mutatja:

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

Amikor megnyitja az űrlapot Űrlap nézetben, a vezérlő abban az esetben jelenik meg OVERDUE , ha az értéke Due Date kisebb, mint az aktuális dátum, ha Due today egyenlő az aktuális dátummal, és egyéb Not Yet Due esetekben is.

Megjegyzés

Ha a függvény argumentumában IIf logikai operátorokat And (például OR) Orexpr szeretne használni, a logikai kifejezést az Eval függvénybe kell helyeznie. Tekintse meg az alábbi példatáblázatot.

Használat IIf lekérdezésben

A IIf függvényt gyakran használják lekérdezések számított mezőinek létrehozásához. A szintaxis ugyanaz, azzal a különbséggel, hogy a lekérdezések kifejezése elé egyenlőségjel ()= helyett mezőaliast és kettőspontot (:) kell beszúrni. Az előző példánál maradva, írja be a következőt a lekérdezés tervezőrácsának Mező sorába:

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

Ebben az esetben Language: a mező aliasa.

A lekérdezések és számított mezők létrehozásáról az Egyszerű választó lekérdezés létrehozása című témakörben olvashat bővebben.

Használat IIf VBA-kódban

Megjegyzés

A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem melletti legördülő listából a fejlesztői segédlet elemre kattintva tudhat meg többet, majd a keresőmezőbe írhat be egy vagy több keresőszót.

Ez a példa a IIf függvény segítségével kiértékeli az TestMeCheckIt eljárás paraméterét, és ha az összeg nagyobb, mint 1000, a szót Large adja vissza. Ellenkező esetben a . szót Smalladja vissza

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

További példák

  1. Kifejezés:

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

    Eredmény: If [AirportCode] is , "ORD"return "Chicago". Ellenkező esetben, ha [AirportCode] igen"ATL", akkor térjen vissza."Atlanta" Ellenkező esetben, ha [AirportCode] igen"SEA", akkor térjen vissza."Seattle" Ellenkező esetben térjen vissza ."Other"

  2. Kifejezés:

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

    Eredmény: Ha [ShipDate] a mai dátumnál korábbi, akkor a visszaadott "Shipped"érték . Ellenkező esetben, ha [ShipDate] megegyezik az aktuális dátummal, adja vissza a ."Shipping today" Ellenkező esetben térjen vissza ."Unshipped"

  3. Kifejezés:

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

    Eredmény: Ha [PurchaseDate] korábbi, mint 1/1/2008, akkor térjen vissza "Old". Ellenkező esetben térjen vissza ."New"

  4. Kifejezés:

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

    Eredmény: Ha [Volts] értéke 12 és 15 közötti, illetve [Amps] 0,25 és 0,3 közötti, akkor a függvény "OK". Ellenkező esetben térjen vissza ."Out of calibration"

  5. Kifejezés:

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

    Eredmény: If [CountryRegion] is "Canada", "USA"vagy "Mexico", return "North America". Ellenkező esetben térjen vissza ."Other"

  6. Kifejezés:

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

    Eredmény: Ha [Average] 90 vagy nagyobb, akkor a visszaadott "A"érték . Ellenkező esetben, ha [Average] 80 vagy nagyobb, adja vissza a megfelelő értéket "B". Ellenkező esetben, ha [Average] 70 vagy nagyobb, adja vissza a ."C" Ellenkező esetben, ha [Average] 60 vagy nagyobb, adja vissza a következőt "D": . Ellenkező esetben térjen vissza ."F"

Megjegyzés

Ha a függvénnyel IIf számított mezőt hoz létre egy lekérdezésben, cserélje le az egyenlőségjelet (=) egy mezőaliasra és egy kettőspontra ().: Például: Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).