Functie IIf

Retourneert een van twee delen, afhankelijk van de evaluatie van een expressie.

U kunt IIf overal gebruiken waar u expressies kunt gebruiken. U gebruikt IIf om te bepalen of een andere expressie waar of onwaar is. Als de expressie waar is, geeft IIf één waarde als resultaat. als het onwaar is, retourneert IIf een andere. U geeft de waarden op die IIf als retourneert.

Enkele voorbeelden bekijken

Syntaxis

IIf ( expr , alswaar , onwaar )

De syntaxis van de functie IIf heeft deze argumenten:

Argument

Beschrijving

expr

Vereist. Expressie die u wilt evalueren.

alswaar

Verplicht. De waarde of expressie die wordt geretourneerd als exprwaaris.

alsonwaar

Verplicht. De waarde of expressie die wordt geretourneerd als exprOnwaaris.


Opmerkingen

Met IIf worden altijd zowel als als het onwaarwaar(als hetwaar) geëvalueerd, ook al wordt er slechts één daarvan als retourneert. Daarom moet u letten op ongewenste bijeffecten. Als bijvoorbeeld het evalueren van het evalueren van foutieve gegevens resulteert in een deling door nul, treedt een fout op, zelfs als exprwaaris.

Voorbeelden

IIf gebruiken in een formulier of rapport    Stel dat u een tabel Klanten hebt met het veld LandRegio. In een formulier wilt u weten of Italiaans de eerste taal van de contactpersoon is. U kunt een besturingselement toevoegen en IIf gebruiken in de eigenschap Besturingselementbron, zoals hier:

=IIf([LandRegio]="Italië";"Italiaans"; "Een andere taal")

Wanneer u het formulier opent in de formulierweergave, wordt 'Italiaans' weergegeven wanneer de waarde voor LandRegio Italië is en 'Een andere taal' wanneer LandRegio een andere waarde is.

IIf gebruiken in complexe expressies    U kunt elke expressie gebruiken als onderdeel van een IIf-instructie. U kunt ook IIf-expressies 'nesten', zodat u een reeks afhankelijke expressies kunt evalueren. Als u wilt doorgaan met het bovenstaande voorbeeld, kunt u testen op verschillende waarden voor LandRegio en vervolgens de juiste taal weergeven, afhankelijk van de waarde die bestaat:

=IIf([LandRegio]="Italië";"Italiaans"; IIf([LandRegio]="Frankrijk";"Frans"; IIf([LandRegio]="Duitsland";"Duits"; "Andere taal")))

De tekst 'Een andere taal' is het argument onwaar van de binnenste IIf-functie. Aangezien elke geneste functie IIf het argument onwaar is van de functie IIf die deze bevat, wordt de tekst 'Een andere taal' alleen geretourneerd als alle expr-argumenten van alle IIf-functies Onwaar zijn.

U werkt bijvoorbeeld in een bibliotheek. De bibliotheekdatabase bevat een tabel met de naam Uitchecken en bevat een veld met de naam Vervaldatum dat de datum bevat waarop een bepaald boek achter moet komen. U kunt een formulier maken dat de status aangeeft van een uitgecheckt item in een besturingselement door de functie IIf te gebruiken in de eigenschap Besturingselementbron van dat besturingselement, zoals hier:

=IIf([Vervaldatum]<Date(),"ACHTERSTALLIG",IIf([Vervaldatum]=Datum(),"Einddatum vandaag","Nog niet af"))

Wanneer u het formulier opent in de formulierweergave, wordt in het besturingselement 'ACHTERSTALLIG' weergegeven als de waarde van Vervaldatum kleiner is dan de huidige datum, 'Einddatum vandaag' als deze gelijk is aan de huidige datum en anders 'Nog niet af'.

Opmerking: Als u logische operatoren zoals 'En' of 'Of' wilt gebruiken in het argument expr van de functie IIf, moet u de logische expressie insluiten in de functie Eval. Zie de volgende voorbeeldtabel.

IIf gebruiken in een query    

De functie IIf wordt vaak gebruikt om berekende velden in query's te maken. De syntaxis is hetzelfde, met uitzondering van het feit dat u in een query de expressie vooraf moet laten gaan door een veldalias en een dubbele punt(:)in plaats van een gelijkteken(=). Als u het vorige voorbeeld wilt gebruiken, typt u het volgende in de rij Veld van het queryontwerpraster:

Taal: IIf([LandRegio]="Italië";"Italiaans"; "Een andere taal")

In dit geval is 'Taal:' de veldalias.

Zie het artikel Een eenvoudige selectiequery maken voor meer informatie over het maken van query's en berekende velden.

IIf gebruiken in VBA-code    

Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.

In dit voorbeeld wordt de functie IIf gebruikt om de parameter TestMe van de procedure CheckIt te evalueren en wordt het woord 'Groot' als het bedrag groter is dan 1000, als retourneert. anders wordt het woord 'Klein' als retourneert.

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

Meer voorbeelden

Expressie

Resultaten

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

Als [AirportCode] 'ORD' is, retournert u 'Chicago'. Als [AirportCode] anders 'ATL' is, retournert u 'Atlanta'. Als [AirportCode] anders 'ZEE' is, retournert u 'Seattle'. Retourner anders 'Overige'.

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

Als [Verzenddatum] vóór de datum van vandaag valt, retourneren u 'Verzonden'. Als [Verzenddatum] anders gelijk is aan de datum van vandaag, retourneert u 'Verzending vandaag'. Retourneerde anders 'Niet-afgesneden'.

=IIf([Aankoopdatum]<#1 1-1-2008#,"Oud","Nieuw")

Als [Aankoopdatum] vóór 1-1-2008 valt, retourneren u 'Oud'. Retourner anders 'Nieuw'.

=IIf(Eval([Volts] Between 12 And [Amps] Between 0,25 And 0,3),"OK","Out of kalibratie")

Als [volt] tussen 12 en 15 en [Amps] ligt tussen 0,25 en 0,3, retourneert u "OK". Retourneerde anders 'niet meer kalibratie'.

=IIf(Eval([LandRegio] In ("Canada","VS","Mexico")),"Noord-Amerika","Overige")

Als [LandRegio] "Canada", "VS" of "Mexico" is, retourneer dan "Noord-Amerika". Retourner anders 'Overige'.

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

Als [Gemiddelde] 90 of groter is, retourneert u 'A'. Als [Gemiddelde] anders 80 of groter is, retourneert u "B". Als [Gemiddelde] anders 70 of groter is, retourneert u "C". Als [Gemiddelde] anders 60 of groter is, retourneert u 'D'. Retourner anders 'F'.

Opmerking: Als u de functie IIf gebruikt om een berekend veld in een query te maken, vervangt u het gelijkteken(=)door een veldalias en een dubbele punt(:). Bijvoorbeeld: Status: IIf([Verzenddatum]<Date(),"Verzend",IIf([Verzenddatum]=Datum(),"Verzending vandaag","Niet verzonden"))

Meer hulp nodig?

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders