Sõltuvalt avaldis 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.
Süntaks
IIf ( expr , truepart , falsepart )
Funktsiooni IIf süntaksil on järgmised argumendid.
Argument |
Kirjeldus |
avaldis |
Nõutav. Avaldis, mida soovite hinnata. |
tõene_osa |
Nõutav. Tagastatav väärtus või avaldis, kui argument avaldis on Tõene. |
falsepart |
Nõutav. Tagastatav väärtus või avaldis, kui argument avaldis on Väär. |
Kommentaarid
Funktsioon IIf hindab alati mõlemat argumenti (tõene_osa ja väär_osa); isegi siis, kui funktsioon tagastab neist ainult ühe. Seetõttu peaksite silmas pidama soovimatuid kõrvalmõjusid. Näiteks kui argumendi väär_osa hindamistulemus on jagamine nulliga, ilmneb tõrge isegi siis, kui argument 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 selle IIf-funktsiooni argument falsepart, mis seda sisaldab, tagastatakse tekst "Mõni muu keel" ainult juhul, kui kõigi IIf-funktsioonide argumentide expr väärtus on False.
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. Saate luua väljamöllitud üksuse olekut näitava vormi juhtelemendis, kasutades funktsiooni Ilf selle juhtelemendi atribuudis Juhtelemendi allikas järgnevalt.
=IIf([Tagastamistähtaeg]<Date(),"Tähtaeg ületatud",IIf([Tagastamistähtaeg]=Date(),"Tagastamistähtaeg on täna","Pole veel tagastamistä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 vaid 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
Avaldis |
Tulemid |
=IIf([Lennujaamakood]="ORD","Chicago",IIf([Lennujaamakood]="ATL","Atlanta",IIf([Lennujaamakood]="SEA","Seattle","Muu"))) |
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". |
=IIf([Lähetuskuupäev]<Date(),"Lähetatud",IIf([Lähetuskuupäev]=Date(),"Lähetatakse täna","Lähetamata")) |
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". |
=IIf([Ostukuupäev]<#01.01.2008#,"Vana","Uus") |
Kui [Ostukuupäev] on varasem kui 1.01.2008, tagastatakse väärtus "Vana". Muul juhul tagastatakse väärtus "Uus". |
=IIf(Eval([Voldid] Between 12 And 15 And [Amprid] Between 0.25 And 0.3),"OK","Taatlemata") |
Kui [Voldid] on vahemikus 12–15 ja [Amprid] on vahemikus 0,25–0,3, tagastatakse väärtus "OK". Muul juhul tagastatakse väärtus "Taatlemata". |
=IIf(Eval([RiikRegioon] In ("Kanada","USA","Mehhiko")),"Põhja-Ameerika","Muu") |
Kui [RiikRegioon] on "Kanada", "USA" või "Mehhiko", tagastatakse väärtus "Põhja-Ameerika". Muul juhul tagastatakse väärtus "Muu". |
=IIf([Keskmine]>=90,"A",IIf([Keskmine]>=80,"B",IIf([Keskmine]>=70,"C",IIf([Keskmine]>=60,"D","F")))) |
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 loote funktsiooni IIf abil päringu arvutusliku välja, 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ähetatakse täna","Lähetamata"))