Funktsioon IIf

Rakenduskoht
Microsoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Olenevalt avaldise hindamisest tagastatakse kahest argumendist üks.

Funktsiooni Ilf saate kasutada kõikjal, kus saate kasutada avaldisi. Kasutage funktsiooni Ilf määramaks, kas mõni teine avaldis on tõene või väär. Kui avaldis on tõene, tagastab funktsioon Ilf ühe väärtuse; kui see on väär, tagastab funktsioon Ilf teistsuguse väärtuse. Funktsiooni Ilf tagastatavate väärtuste avaldised määrate teie.

Vt näited

Süntaks

IIf(avaldis;tõene osa;väär osa)

Funktsiooni IIf süntaksil on järgmised argumendid.

Argument Kirjeldus
avaldis Nõutav. Avaldis, mida soovite hinnata.
tõene_osa Nõutav. Väärtus või avaldis, mis tagastatakse, kui avaldis on tõene.
falsepart Nõutav. Väärtus või avaldis, mis tagastatakse, kui avaldis on väär.

Kommentaarid

Funktsioon IIf hindab alati nii argumenti truepart kui ka falsepart, kuigi tagastab neist ainult ühe. Seetõttu peaksite silmas pidama soovimatuid kõrvalmõjusid. Näiteks kui argument falsepart annab tulemuseks nulliga jagamise tõrke, ilmneb tõrge ka siis, kui avaldis on Tõene.

Näited

IIf-funktsiooni kasutamine vormil või aruandes Oletagem, et teil on tabel Kliendid, mis sisaldab välja Riik/regioon. Soovite vormil tähistada, kas kontakti esimene keel on itaalia keel. Saate lisada juhtelemendi ja kasutada funktsiooni IIf selle atribuudis Juhtelemendi allikas järgmiselt.

=IIf([RiikPiirkond]="Itaalia", "Itaalia keel", "Mõni muu keel")

Kui avate vormi vormivaates, kuvab juhtelement kirje „Itaalia keel” alati, kui välja RiikPiirkond väärtus on Itaalia, ja kirje „Mõni muu keel”, kui välja RiikPiirkond väärtus on midagi muud.

Funktsiooni IIf kasutamine keerukates avaldistes IIf-lause mis tahes osana saate kasutada mis tahes avaldist. Samuti saate IIf-avaldisi pesastada, võimaldades teil hinnata sõltuvate avaldiste sarja. Eelmise näite jätkamiseks võite testida mitme erineva riigiregiooni väärtuse suhtes ja seejärel kuvada sobiva keele olenevalt sellest, milline väärtus on olemas.

=IIf([RiikPiirkond]="Itaalia", "Itaalia keel", IIf([RiikPiirkond]="Prantsusmaa", "Prantsuse keel", IIf([RiikPiirkond]="Saksamaa", "Saksa keel", "Mõni muu keel")))

Tekst "Mõni muu keel" on sisemise funktsiooni IIf argument falsepart. Kuna iga pesastatud IIf-funktsioon on seda sisaldava IIf-funktsiooni argument falsepart, tagastatakse tekst "Mõni muu keel" ainult juhul, kui kõigi IIf-funktsioonideavaldiseargumendid on väära väärtusega.

Teise näitena oletagem, et töötate raamatukogus. Raamatukogu andmebaasis on tabel nimega Väljamöllimine, mis sisaldab kindla raamatu tagastamise kuupäevaga välja nimega Tagastamise kuupäev. Väljamöllitud üksuse olekut näitava vormi saate luua juhtelemendi atribuudi Juhtelemendi allikas funktsiooni IIf abil järgmiselt.

=IIf([Tähtaeg]<Date();"Tähtaeg ületatud";IIf([Tähtaeg]=Date(),"Tähtaeg täna","Pole veel tähtaeg"))

Kui avate vormi vormivaates, kuvab juhtelement kirje „Tähtaeg ületatud”, kui avaldise Tagastamistähtaeg väärtus on väiksem kui praegune kuupäev, kirje „Tagastamistähtaeg on täna”, kui väärtus on praeguse kuupäevaga võrdne. Muudel juhtudel kuvatakse kirje „Pole veel tagastamistähtaeg”.

Märkus.

Kui soovite funktsiooni IIf argumendis avaldises kasutada loogilisi tehtemärke nagu "And" või "Or", peate loogilise avaldise ümbritsema funktsiooniga Eval. Vaadake järgnevat näidistabelit.

Funktsiooni IIf kasutamine päringus

Funktsiooni IIf abil luuakse sageli päringutes arvutuslikke välju. Süntaks on sama, erandiks on see, et päringus tuleb avaldise ette lisada välja pseudonüüm ja koolon (:), mitte võrdusmärk (=). Eelneva näite varal tuleks teil tippida päringu kujundusruudustiku reale Väli järgmine tekst:

Keel: IIf([RiikPiirkond]="Itaalia", "Itaalia keel", "Mõni muu keel")

Selles näites on välja pseudonüüm "Keel:".

Päringute ja arvutatud väljade loomise kohta leiate lisateavet artiklist Lihtsa valikupäringu loomine.

Funktsiooni IIf kasutamine VBA-koodis

Märkus.

Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateabe saamiseks VBA-ga töötamise kohta valige välja Otsing kõrval kuvatavast ripploendist väärtus Tootearendusmaterjal ja sisestage otsinguväljale üks või mitu sõna.

Järgnevas näites kasutatakse funktsiooni Ilf protseduuri CheckIt parameetri TestMe hindamiseks. Kui kogus on suurem kui 1000, tagastatakse sõna „Suur”, muul juhul tagastatakse sõna „Väike”.


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

Veel näiteid

  1. Avaldis:

    =IIf([Lennujaamakood]="ORD","Chicago",IIf([Lennujaamakood]="ATL","Atlanta",IIf([Lennujaamakood]="SEA","Seattle","Muu")))

    Tulem:

    Kui [Lennujaamakood] on "ORD", tagastatakse väärtus "Chicago". Muul juhul, kui [Lennujaamakood] on "ATL", tagastatakse väärtus "Atlanta". Muul juhul, kui [Lennujaamakood] on "SEA", tagastatakse väärtus "Seattle". Muul juhul tagastatakse väärtus "Muu".

  2. Avaldis:

    =IIf([Lähetuskuupäev]<Date(),"Lähetatud",IIf([Lähetuskuupäev]=Date(),"Lähetamise täna","Lähetamata"))

    Tulem:

    Kui [Lähetuskuupäev] on enne tänast kuupäeva, tagastatakse väärtus "Lähetatud". Muul juhul, kui [Lähetuskuupäev] võrdub tänase kuupäevaga, tagastatakse väärtus "Lähetatakse täna". Muul juhul tagastatakse väärtus "Lähetamata".

  3. Avaldis:

    =IIf([Ostukuupäev]<#1.01.2008#,"Vana","Uus")

    Tulem:

    Kui [Ostukuupäev] on varasem kui 1.01.2008, tagastatakse väärtus "Vana". Muul juhul tagastatakse väärtus "Uus".

  4. Avaldis:

    =IIf(Eval([Voldid] Between 12 And 15 And [Amprid] Between 0.25 And 0.3),"OK","Taatlemata")

    Tulem:

    Kui [Voldid] on vahemikus 12–15 ja [Amprid] on vahemikus 0,25–0,3, tagastatakse väärtus "OK". Muul juhul tagastatakse väärtus "Taatlemata".

  5. Avaldis:

    =IIf(Eval([RiikRegioon] In ("Kanada","USA","Mehhiko")),"Põhja-Ameerika","Muu")

    Tulem:

    Kui [RiikRegioon] on "Kanada", "USA" või "Mehhiko", tagastatakse väärtus "Põhja-Ameerika". Muul juhul tagastatakse väärtus "Muu".

  6. Avaldis:

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

    Tulem:

    Kui [Keskmine] on 90 või suurem, tagastatakse väärtus "A". Muul juhul kui [Keskmine] on 80 või suurem, tagastatakse väärtus "B". Muul juhul kui [Keskmine] on 70 või suurem, tagastatakse väärtus "C". Muul juhul kui [Keskmine] on 60 või suurem, tagastatakse väärtus "D". Muul juhul tagastatakse väärtus "F".

Märkus.

Kui kasutate funktsiooni IIf päringus arvutusliku välja loomiseks, asendage võrdusmärk (=) välja pseudonüümi ja kooloniga (:). Näiteks Olek: IIf([Lähetuskuupäev]<Date(),"Lähetatud",IIf([Lähetuskuupäev]=Date(),"Lähetamise täna","Lähetamata"))