Funktionen IIf

Returnerer én af to dele afhængigt af evalueringen af et udtryk (udtryk: Enhver kombination af matematiske eller logiske operatorer, konstanter, funktioner og feltnavne, kontrolelementer og egenskaber, der evalueres til en enkelt værdi. Udtryk kan udføre beregninger, arbejde med tegn eller teste data.).

Du kan bruge IIf over alt, hvor du kan bruge udtryk. Du bruger IIf til at afgøre, om et andet udtryk er sandt eller falsk. Hvis udtrykket er sandt, returnerer IIf en værdi. Hvis det er falsk, returnerer IIf en anden værdi. Du angiver de værdier, IIf returner.

Se eksempler

Syntaks

IIf(udtryk, sanddel, falskdel)

Syntaksen for funktionen IIf består af følgende argumenter (argument: En værdi, der forsyner en handling, en metode, en egenskab, en funktion eller en procedure med oplysninger.):

Argument Beskrivelse
udtr Påkrævet. Udtryk, som du vil evaluere.
sanddel Påkrævet. Værdi eller udtryk, der returneres, hvis udtryk er Sand.
falskdel Påkrævet. Værdi eller udtryk, der returneres, hvis udtryk er Falsk.

Bemærkninger

IIf evaluerer altid både sanddel og falskdel, selvom funktionen kun returnerer én af dem. Derfor bør du være opmærksom på uønskede bivirkninger. Hvis evalueringen af falskdel f.eks. resulterer i division med nul fejl, opstår der en fejl, selvom udtryk er Sand.

Eksempler

Brug af IIf i en formular eller rapport    Du har f.eks. en kundetabel, der indeholder feltet Land. I en formular vil du angive, om kontaktpersonens første sprog er italiensk. Du kan tilføje et kontrolelement og bruge IIf i egenskaben Kontrolkilde som i følgende eksempel:

=IIf([CountryRegion]="Italien", "Italiensk", "Et andet sprog")

Når du åbner formularen i formularvisning, viser kontrolelementet "Italiensk", når værdien for Land er Italien, og "Et andet sprog", når værdien for Land er en anden værdi.

Brug af IIf i komplekse udtryk    Du kan bruge ethvert udtryk som enhver del af en IIf-sætning. Du kan også "indlejre" IIf-udtryk, så du kan evaluere en række udtryk, der er afhængige af hinanden. Hvis du vil fortsætte med det tidligere eksempel, kan du teste forskellige værdier for LandOmråde og derefter vise det relevante sprog, afhængigt af de eksisterende værdier:

=IIf([LandOmråde]="Italien", "Italiensk", IIf([LandOmråde]="Frankrig", "Fransk", IIf([LandOmråde]="Tyskland", "Tysk", "Et andet sprog")))

Teksten "Et andet sprog" er argumentet falsk del i den inderste IIf-funktion. Da hver af de indlejrede IIf-funktioner er argumentet falsk del af den IIf-funktion, som indeholder argumentet, returneres teksten "Et andet sprog" kun, hvis alle udtryk-argumenterne i alle IIf-funktionerne evalueres til falsk.

Et andet eksempel kan være, at du arbejder på et bibliotek. Biblioteksdatabasen har en tabel med navnet Udlån, der indeholder feltet Afleveringsdato, som indeholder afleveringsdatoen for hver bog. Du kan oprette en formular, der angiver status for et udlånt element i en kontrolelement ved at indsætte funktionen IIf i egenskaben Kontrolkilde for kontrolelementet som i følgende eksempel:

=IIf([Afleveringsdato]<Date(),"FOR SENT",IIf([Afleveringsdato]=Date(),"Skal afleveres i dag","Afleveres senere"))

Når du åbner formularen i formularvisning, viser teksten "FOR SENT", hvis værdien af Forfaldsdato er mindre end dags dato, "Skal afleveres i dag", hvis den er lig med dags dato, og "Afleveres senere" i andre tilfælde.

 Bemærk!   Hvis du vil bruge logiske operatorer som "And" eller "Or" i argumentet udtryk for IIf-funktionen, skal du angive det logiske udtryk i funktionen Eval. Se eksempeltabellen herunder.

Brug af IIf i en forespørgsel    

Funktionen IIf bruges ofte til at oprette beregnede felter i forespørgsler. Syntaksen er den samme, men i en forespørgsel skal udtrykket have et foranstillet alias (alias (SQL): Et alternativt navn til en tabel eller et felt i udtryk. Det bruges ofte til at forkorte navnet på tabellen eller feltet for efterfølgende referencer i kode. Dette kan forhindre eventuelle tvetydige referencer og give et mere beskrivende navn i forespørgselsoutput.)-felt og et kolon (:) i stedet for et lighedstegn (=). Hvis du vil bruge det foregående eksempel, skal du skrive følgende i rækken Felt i forespørgselsdesigngitteret:

Sprog: IIf([LandOmråde]="Italien", "Italiensk", "Et andet sprog")

I dette tilfælde er "Sprog:" alias-feltet.

Du kan finde flere oplysninger om at oprette forespørgsler og beregnede felter i artiklen Vælge data ved hjælp af en forespørgsel.

Brug af IIf i VBA-kode    

 Bemærk!   I de følgende eksempler demonstreres brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Du kan få yderligere oplysninger om arbejde med VBA ved at vælge Udviklerreference på rullelisten ud for Søg og indtaste et eller flere udtryk i søgeboksen.

I dette eksempel anvendes funktionen IIf til at evaluere TestMe-parameteren for CheckIt-proceduren, og ordet "Stor" returneres, hvis summen er større end 1000. Ellers returneres ordet "Lille".

Function CheckIt (TestMe As Integer)
    CheckIt = IIf(TestMe > 1000, "Stor", "Lille")
End Function

      

Flere eksempler

Udtryk Resultater
=IIf([Lufthavnskode]="ORD","Chicago",IIf([Lufthavnskode]="ATL","Atlanta",IIf([Lufthavnskode]="SEA","Seattle","Andet"))) Hvis [Lufthavnskode] er "ORD", returneres "Chicago". Ellers, hvis [Lufthavnskode] er "ATL", returneres "Atlanta". Ellers, hvis [Lufthavnskode] er "SEA", returneres "Seattle". Ellers returneres "Andet".
=IIf([Forsendelsesdato]<Date(),"Sendt",IIf([Forsendelsesdato]=Date(),"Sendes i dag","Ikke sendt")) Hvis [Forsendelsesdato] er før dags dato, returneres "Sendt". Ellers, hvis [Forsendelsesdato] er lig med dags dato, returneres "Sendes i dag". Ellers returneres "Ikke sendt".
=IIf([Købsdato]<#1/1/2008#,"Gammel","Ny") Hvis [Købsdato] er før 1/1/2008, returneres "Gammel". Ellers returneres "Ny".
=IIf(Eval([Volt] Between 12 And 15 And [Ampere] Between 0.25 And 0.3),"OK","Ikke kalibreret") Hvis [Volt] er mellem 12 og 15, og [Ampere] er mellem 0,25 og 0,3, returneres "OK". Ellers returneres "Ikke kalibreret".
=IIf(Eval([LandOmråde] In ("Canada","USA","Mexico")),"Nordamerika","Andet") Hvis [LandOmråde] er "Canada", "USA" eller "Mexico", returneres "Nordamerika". Ellers returneres "Andet".
=IIf([Gennemsnit]>=90,"12",IIf([Gennemsnit]>=80,"10",IIf([Gennemsnit]>=70,"8",IIf([Gennemsnit]>=60,"5","0")))) Hvis [Gennemsnit] er 90 eller mere, returneres "12". Ellers, hvis [Gennemsnit] er 80 eller større, returneres "10". Ellers, hvis [Gennemsnit] er 70 eller større, returneres "8". Ellers, hvis [Gennemsnit] er 60 eller større, returneres "5". Ellers returneres "0".

 Bemærk!   Hvis du bruger funktionen IIf til at oprette et beregnet felt i en forespørgsel, skal du udskifte lighedstegnet (=) med et alias (alias (SQL): Et alternativt navn til en tabel eller et felt i udtryk. Det bruges ofte til at forkorte navnet på tabellen eller feltet for efterfølgende referencer i kode. Dette kan forhindre eventuelle tvetydige referencer og give et mere beskrivende navn i forespørgselsoutput.)-felt og et kolon (:). Eksempel Status: IIf([Forsendelsesdato]<Date(),"Sendt",IIf([Forsendelsesdato]=Date(),"Sendes i dag","Ikke sendt"))

 
 
Gælder for:
Access 2013, Access 2010, Access 2007