IIf funkcija

Taikoma
„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Pateikia vieną iš dviejų dalių, atsižvelgiant į reiškinio įvertinimą.

IIf galite naudoti visur, kur galima naudoti reiškinius. IIf naudojamas norint nustatyti, ar kitas reiškinys yra teisingas, ar klaidingas. Jei reiškinys yra teisingas, IIf grąžina vieną reikšmę; jei jis yra klaidingas, IIf grąžina kitą. Nurodykite reikšmes, kurias grąžina IIf .

Žr. keletą pavyzdžių

Sintaksė

IIf(išraiška, tikroji dalis, klaidinga)

Funkcijos IIf sintaksė turi tokius argumentus:

Argumentas Aprašymas
expr Būtinas. Išraiška, kurią norite įvertinti.
teisingadalis Būtinas. Reikšmė arba reiškinys grąžinamas, jei reiškinys yra teisingas.
klaidingadalis Būtinas. Reikšmė arba reiškinys grąžinami, jei reiškinys yra False.

Pastabos

IIf visada įvertina ir truepart, ir falsepart, net jei pateikia tik vieną iš jų. Dėl šios priežasties turėtumėte stebėti, ar nėra nepageidaujamo šalutinio poveikio. Pvz., jei įvertinus falsepart gaunama dalybos iš nulio klaida, klaida įvyksta net jei reiškinys yra True.

Pavyzdžiai

IIf naudojimas formoje arba ataskaitoje Tarkime, kad turite lentelę Klientai, kurioje yra laukas pavadinimu ŠalisRegionas. Formoje norite nurodyti, ar italų kalba yra pirmoji kontakto kalba. Galite įtraukti valdiklį ir naudoti IIf jo ypatybėje Valdiklio šaltinis , pvz.:

=IIf([CountryRegion]="Italija", "Italų", "Kita kalba")

Kai atidarote formą formos rodinyje, valdiklis rodo "Italų", kai Šalies_regionas reikšmė yra Italija, ir "Kai kuri kita kalba", kai Šalis_regionas yra bet kuri kita reikšmė.

IIf naudojimas sudėtingose išraiškose Bet kokį reiškinį galite naudoti kaip bet kurią IIf sakinio dalį. Taip pat galite "įdėti" IIf reiškinius, kad galėtumėte įvertinti priklausomų reiškinių seką. Tęsdami ankstesnį pavyzdį, galite patikrinti kelias skirtingas Šalis_regionas reikšmes ir tada rodyti atitinkamą kalbą, atsižvelgiant į tai, kuri reikšmė yra:

=IIf([ŠalisRegionas]="Italija", "Italija", IIf([ŠalisRegionas]="Prancūzija", "Prancūzų", IIf([ŠalisRegionas]="Vokietija", "Vokiečių", "Kita kalba")))

Tekstas "Kita kalba" yra vidinės IIf funkcijos klaidingos dalies argumentas. Kadangi kiekviena įdėtoji IIf funkcija yra IIf funkcijos, kurioje ji yra, argumentas Falsepart, tekstas "Kažkokia kita kalba" pateikiamas tik tada, jei visi išraiškos argumentai visų IIf funkcijų įvertinami kaip False.

Kitas pavyzdys: tarkime, kad dirbate bibliotekoje. Bibliotekos duomenų bazėje yra lentelė, pavadinta Paimti ir užrakinti, kurioje yra laukas, pavadintas Terminas, kuriame yra konkrečios knygos grąžinimo data. Formą, nurodančią paimto ir užrakinto elemento būseną valdiklyje naudodami funkciją IIf to valdiklio ypatybėje , galite sukurti taip:

=IIf([Terminas]<Date(),"VĖLUOTA",IIf([Terminas]=Date(),"Terminas šiandien","Dar nėra terminas"))

Kai atidarote formą formos rodinyje, valdiklis rodo "VĖLUOTA", jei termino reikšmė yra mažesnė nei dabartinė data, "Terminas šiandien", jei ji lygi dabartinei datai, ir "Dar nėra terminas" kitais atvejais.

Pastaba

Jei norite naudoti loginius operatorius, pvz., "Ir" arba "Arba" funkcijos IIfišraiškos argumente, turite įtraukti loginį reiškinį į funkciją Eval. Žr. toliau pateiktą lentelės pavyzdį.

IIf naudojimas užklausoje

Funkcija IIf dažnai naudojama apskaičiuotiesiems laukams užklausose kurti. Sintaksė yra tokia pati, išskyrus tai, kad užklausoje vietoj lygybės ženklo (=) turite įvesti lauko pseudonimą ir dvitaškį (:). Norėdami naudoti ankstesnį pavyzdį, užklausos kūrimo tinklelio eilutėje Laukas turėtumėte įvesti:

Kalba: IIf([CountryRegion]="Italija", "Italų", "Kita kalba")

Šiuo atveju "Language:" yra lauko pseudonimas.

Daugiau informacijos apie užklausų ir apskaičiuotųjų laukų kūrimą rasite straipsnyje Paprastos išrinkimo užklausos kūrimas.

IIf naudojimas VBA kode

Pastaba

Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.

Šiame pavyzdyje naudojama funkcija IIf, kad būtų įvertintas procedūros "CheckIme" parametras ir grąžinamas žodis "Didelis", jei suma yra didesnė nei 1000; priešingu atveju ji grąžina žodį "Mažas".


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

Daugiau pavyzdžių

  1. Išraiška:

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

    Rezultatas:

    Jei [AirportCode] yra "ORD", grąžinkite "Chicago". Priešingu atveju, jei [AirportCode] yra "ATL", grąžinkite "Atlanta". Priešingu atveju, jei [AirportCode] yra "SEA", grąžinkite "Sietlas". Priešingu atveju grąžinti "Kita".

  2. Išraiška:

    =IIf([Siuntimo_data]<Date(),"Išsiųsta",IIf([Siuntimo_data]=Date(),"Siunčiama šiandien","Neišsiųsta"))

    Rezultatas:

    Jei [Siuntimo_data] yra iki šiandienos datos, grąžinkite "Išsiųsta". Priešingu atveju, jei [Siuntimo_data] sutampa su šiandienos data, pateikite "Siuntimas šiandien". Priešingu atveju, grąžinti "Neišsiųsta".

  3. Išraiška:

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

    Rezultatas:

    Jei [PurchaseDate] yra ankstesnis nei 1/1/2008, grąžinkite "Old". Priešingu atveju, grąžinti "Naujas".

  4. Išraiška:

    =IIf(Eval([voltai] nuo 12 iki 15 ir [amperai] nuo 0,25 iki 0,3),"Gerai","Iš kalibravimo")

    Rezultatas:

    Jei [Voltai] yra nuo 12 iki 15, o [Amperai] yra nuo 0,25 iki 0,3, grąžinkite "Gerai". Priešingu atveju, grąžinkite "Out of calibration" (Kalibravimo problema).

  5. Išraiška:

    =IIf(Eval([CountryRegion] ("Kanada", "JAV", "Meksika")),"Šiaurės Amerika","Kita")

    Rezultatas:

    Jei [CountryRegion] yra Kanada, JAV, arba Meksika, pateikite "Šiaurės Amerika". Priešingu atveju grąžinti "Kita".

  6. Išraiška:

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

    Rezultatas:

    Jei [Vidurkis] yra 90 arba daugiau, pateikite "A". Kitu atveju, jei [Average] yra 80 arba daugiau, pateikti "B". Priešingu atveju, jei [Vidurkis] yra 70 arba daugiau, pateikti "C". Priešingu atveju, jei [Average] yra 60 arba daugiau, pateikti "D". Priešingu atveju, grąžinkite "F".

Pastaba

Jei naudojate funkciją IIf apskaičiuotajam laukui užklausoje kurti, lygybės ženklą (=) pakeiskite lauko pseudonimu ir dvitaškiu (:). Pavyzdžiui, būsena: IIf([Siuntimo_data]<Date(),"Išsiųsta",IIf([Siuntimo_data]=Date(),"Siunčiama šiandien","Neišsiųsta"))