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.

Az IIf-t bárhol használhatja, ahol kifejezéseket használhat. Az IIf használatával állapíthatja meg, hogy egy másik kifejezés igaz vagy hamis. Ha a kifejezés igaz, az IIf egy értéket ad vissza; ha hamis, az IIf egy másikat ad vissza. Itt adhatja meg az IIf által visszaadott értékeket.

További példák megtekintése

Szintaxis

IIf(kifejezés;igazrész;hamisrész)

Az IIf függvény szintaxisa az alábbi argumentumokat foglalja tartalmazza:

Argumentum Leírás:
kif Kötelező megadni. Kiértékelni kívánt kifejezés.
igazrész Kötelező megadni. Érték vagy kifejezés, ha a kifejezésigaz.
hamisrész Kötelező megadni. A visszaadott érték vagy kifejezés, ha a kifejezéshamis.

Megjegyzések

Az IIf mindig a truepart és a falsepart értéket is kiértékeli, annak ellenére, hogy csak az egyiket adja vissza. Emiatt figyelnie kell a nemkívánatos mellékhatásokat. Ha például a falsepart kiértékelése nullával történő osztást eredményez, akkor a hiba akkor is előfordul, ha a kifejezésértéke Igaz.

Példák

Az IIf használata űrlapon vagy jelentésben Tegyük fel, hogy van egy Ügyfelek táblája, amely egy CountryRegion nevű mezőt tartalmaz. Egy űrlapon azt szeretné jelölni, hogy az olasz a kapcsolat első nyelve-e. Hozzáadhat egy vezérlőt, és használhatja az IIf-t a Vezérlőforrás tulajdonságában, a következőképpen:

=IIf([OrszágRégió]="Olaszország"; "Olasz"; "Más nyelv")

Amikor űrlapnézetben nyitja meg az űrlapot, a vezérlő "olasz" értéket jelenít meg, amikor a CountryRegion értéke Olaszország, és "Más nyelv" értéket, amikor a CountryRegion bármely más érték.

Az IIf használata összetett kifejezésekben Az IIf-utasítások bármely kifejezését használhatja. IIf-kifejezéseket is "beágyazhat", így függő kifejezések sorozatát értékelheti ki. Az előző példával való folytatáshoz érdemes lehet több különböző CountryRegion értéket tesztelni, majd megjeleníteni a megfelelő nyelvet attól függően, hogy melyik érték létezik:

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

A "Valami más nyelv" szöveg a legbelső IIf függvény falsepart argumentuma. Mivel minden beágyazott IIf függvény az azt tartalmazó IIf függvény falsepart argumentuma, a "Más nyelv" szöveg csak akkor lesz visszaadva, ha az összes IIf függvény összes kifejezésargumentuma Hamis értéket ad vissza.

Tegyük fel például, hogy egy könyvtárban dolgozik. Az erőforrástár-adatbázis tartalmaz egy Kivételek nevű táblát, amely tartalmaz egy Határidő nevű mezőt, amely egy adott könyv esedékességének dátumát tartalmazza. Létrehozhat egy űrlapot, amely egy vezérlőelem kivett elemének állapotát jelzi a vezérlő Vezérlőforrás tulajdonságának IIf függvényével, az alábbi módon:

=IIf([Határidő]<Dátum(),"LEJÁRT";IIf([Határidő]=Dátum(),"Ma esedékes","Még nem esedékes"))

Amikor űrlapnézetben nyitja meg az űrlapot, a vezérlőelem "LEJÁRT" értéket jelenít meg, ha a Határidő értéke kisebb, mint az aktuális dátum, "Ma esedékes", ha az egyenlő az aktuális dátummal, és "Még nem esedékes".

Megjegyzés

Ha logikai operátorokat (például "And" vagy "Or") szeretne használni az IIf függvény kifejezés argumentumában, a logikai kifejezést az Eval függvénybe kell tenni. Tekintse meg az alábbi példatáblát.

Az IIf használata lekérdezésben

Az IIf függvényt gyakran használják számított mezők létrehozására a lekérdezésekben. A szintaxis ugyanaz, azzal a kivétellel, hogy egy lekérdezésben a kifejezést egy mezőalias és egy kettőspont (:) előtaggal kell előtaggal elneveznie az egyenlőségjel (=) helyett. Az előző példa használatához írja be a következőt a lekérdezéstervező rács Mező sorába:

Nyelv: IIf([CountryRegion]="Olaszország", "Olasz", "Más nyelv")

Ebben az esetben a "Language:" a mezőalias.

A lekérdezések és számított mezők létrehozásáról további információt az Egyszerű választó lekérdezés létrehozása című cikkben talál.

Az IIf használata 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 mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.

Ez a példa az IIf függvénnyel értékeli ki a CheckIt eljárás TestMe paraméterét, és a "Nagy" szót adja vissza, ha az összeg nagyobb, mint 1000; ellenkező esetben a "Kicsi" szót adja 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:

    Ha az [AirportCode] értéke "ORD", a "Chicago" értéket adja vissza. Ellenkező esetben, ha az [AirportCode] értéke "ATL", az "Atlanta" értéket adja vissza. Ellenkező esetben, ha az [AirportCode] értéke "SEA", akkor a "Seattle" értéket adja vissza. Ellenkező esetben az "Egyéb" értéket adja vissza.

  2. Kifejezés:

    =IIf([SzállításiDátum]<Dátum(),"Szállítási";IIf([SzállításiDátum]=Dátum(),"Szállítás ma","Nem hajózva"))

    Eredmény:

    Ha a [SzállításiDátum] a mai dátum előtt van, akkor a "Szállítási" értéket adja vissza. Ellenkező esetben, ha a [ShipDate] értéke megegyezik a mai dátummal, akkor a "Szállítás ma" értéket adja vissza. Ellenkező esetben az "Unshipped" (Nincs berakva) értéket adja vissza.

  3. Kifejezés:

    =IIf([VásárlásDátum]<#2008.01.01.#;"Régi";"Új")

    Eredmény:

    Ha a [PurchaseDate] értéke 2008. 01. 01. előtt van, akkor a "Régi" értéket adja vissza. Ellenkező esetben az "Új" értéket adja vissza.

  4. Kifejezés:

    =IIf(Eval([Volt] 12 és 15 között és [Amps] 0,25 és 0,3 között);"OK";"Nincs kalibrálás")

    Eredmény:

    Ha a [Volt] értéke 12 és 15 között van, és az [Amps] értéke 0,25 és 0,3 között van, akkor az "OK" értéket adja vissza. Ellenkező esetben adja vissza a "Nincs kalibrálás" értéket.

  5. Kifejezés:

    =IIf(Eval([OrszágRégió] In ("Kanada","USA";"Mexikó"));"Észak-Amerika";"Egyéb")

    Eredmény:

    Ha a [CountryRegion] értéke "Kanada", "USA" vagy "Mexikó", akkor a "Észak-Amerika" értéket adja vissza. Ellenkező esetben az "Egyéb" értéket adja vissza.

  6. Kifejezés:

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

    Eredmény:

    Ha az [Átlag] értéke 90 vagy nagyobb, az "A" értéket adja vissza. Ellenkező esetben, ha az [Átlag] értéke 80 vagy nagyobb, akkor a "B" értéket adja vissza. Ellenkező esetben, ha az [Átlag] értéke 70 vagy nagyobb, akkor a "C" értéket adja vissza. Ellenkező esetben, ha az [Átlag] értéke 60 vagy nagyobb, akkor a "D" értéket adja vissza. Ellenkező esetben az "F" értéket adja vissza.

Megjegyzés

Ha az IIf függvénnyel hoz létre számított mezőt egy lekérdezésben, cserélje le az egyenlőségjelet (=) egy mezőaliasra és egy kettőspontra (:). Például: Állapot: IIf([ShipDate]<Date(),"Szállítási",IIf([SzállításiDátum]=Dátum(),"Szállítás ma","Nem szállítva"))