IIf (Funktion)

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Gibt in Abhängigkeit von der Auswertung eines Ausdrucks einen von zwei Teilen zurück.

Sie können überall verwenden IIf , wo Sie Ausdrücke verwenden können. Verwenden Sie IIf , um zu bestimmen, ob ein anderer Ausdruck true oder false ist. Wenn der Ausdruck true ist, IIf gibt einen Wert zurück. Wenn es false ist, IIf gibt einen anderen Wert zurück. Sie geben die Werte an, die IIf zurückgegeben werden.

Hier sind einige Beispiele

Syntax

IIf(expr, truepart, falsepart)

Die IIf Funktionssyntax weist die folgenden Argumente auf:

Argument Beschreibung
expr Erforderlich. Der auszuwertende Ausdruck.
truepart Erforderlich. Wert oder Ausdruck, der zurückgegeben wird, wenn expr ist True.
falsepart Erforderlich. Wert oder Ausdruck, der zurückgegeben wird, wenn expr ist False.

Hinweise

IIfwertet immer sowohl als falsepartauch truepart aus, obwohl nur eine davon zurückgegeben wird. Achten Sie aufgrund dieses Verhaltens auf unerwünschte Nebenwirkungen. Wenn die Auswertung falsepart z. B. zu einem Fehler der Division durch 0 (null) führt, tritt ein Fehler auf, auch wenn expr ist True.

Beispiele

Verwenden in IIf einem Formular oder Bericht

Angenommen, Sie verfügen über eine Customers Tabelle, die ein Feld mit dem Namen CountryRegionenthält. In einem Formular möchten Sie anzeigen, ob Italienisch die erste Sprache des Kontakts ist. Sie können ein Steuerelement hinzufügen und in seiner Control Source -Eigenschaft verwendenIIf:

=IIf([CountryRegion]="Italy", "Italian", "Some other language")

Wenn Sie das Formular in der Formularansicht öffnen, wird das Steuerelement immer angezeigt Italian , wenn der Wert für CountryRegion ist Italy. Es wird immer angezeigt Some other language , wenn CountryRegion ein anderer Wert vorhanden ist.

Verwenden in IIf komplexen Ausdrücken

Sie können einen beliebigen Ausdruck in jedem Teil einer IIf Anweisung verwenden. Sie können ausdrücke auch schachteln IIf , sodass Sie eine Reihe abhängiger Ausdrücke auswerten können. Um mit dem vorherigen Beispiel fortzufahren, sollten Sie mehrere verschiedene CountryRegion Werte testen und dann die entsprechende Sprache basierend auf dem Wert anzeigen:

=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))

Der Text Some other language ist das falsepart Argument der innersten IIf Funktion. Da jede geschachtelte IIf Funktion das falsepart Argument der Funktion ist, die IIf sie enthält, wird der Text Some other language nur zurückgegeben, wenn alle expr Argumente der IIf Funktionen als Falseausgewertet werden.

Ein weiteres Beispiel: Sie arbeiten in einer Bibliothek. Die Bibliotheksdatenbank verfügt über eine Tabelle namens Check Outs , die ein Feld mit dem Namen Due Dateenthält, das das Datum enthält, an dem ein bestimmtes Buch zurücksteht. Sie können ein Formular erstellen, das die status eines ausgecheckten Elements in einem Steuerelement anzeigt, indem Sie die -Funktion in der IIf -Eigenschaft dieses Steuerelements Control Source verwenden:

=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))

Wenn Sie das Formular in der Formularansicht öffnen, zeigt das Steuerelement an OVERDUE , wenn der Wert von Due Date kleiner als das aktuelle Datum ist, Due today wenn er dem aktuellen Datum entspricht und Not Yet Due andernfalls.

Hinweis

Um logische Operatoren wie And oder Or im expr Argument der IIf Funktion zu verwenden, müssen Sie den logischen Ausdruck in die Eval-Funktion einschließen. Sehen Sie sich die folgende Beispieltabelle an.

Verwenden in IIf einer Abfrage

Die IIf Funktion wird häufig verwendet, um berechnete Felder in Abfragen zu erstellen. Die Syntax ist identisch, mit der Ausnahme, dass Sie in einer Abfrage dem Ausdruck einen Feldalias und einen Doppelpunkt (:) anstelle eines Gleichheitszeichens (=) voran stellen müssen. Um das vorherige Beispiel zu verwenden, geben Sie Folgendes in die Zeile Feld des Abfrageentwurfsbereichs ein:

Language: IIf([CountryRegion]="Italy", "Italian", "Some other language")

In diesem Fall Language: ist der Feldalias.

Weitere Informationen zum Erstellen von Abfragen und berechneten Feldern finden Sie unter Erstellen einer einfachen Auswahlabfrage.

Verwenden in IIf VBA-Code

Hinweis

Die folgenden Beispiele zeigen, wie Diese Funktion in einem vba-Modul (Visual Basic for Applications) verwendet wird. Wenn Sie weitere Informationen zum Arbeiten mit VBA anzeigen möchten, wählen Sie in der Dropdownliste neben Suchen die Option Entwicklerreferenz aus, und geben Sie dann einen oder mehrere Begriffe in das Suchfeld ein.

In diesem Beispiel wird die IIf -Funktion verwendet, um den TestMe Parameter der CheckIt Prozedur auszuwerten, und gibt das Wort Large zurück, wenn der Betrag größer als 1.000 ist. Andernfalls wird das Wort Smallzurückgegeben.

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

Weitere Beispiele

  1. Ausdruck:

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

    Ergebnis: Wenn [AirportCode] ist, geben "ORD"Sie zurück "Chicago". Andernfalls, wenn [AirportCode] ist, geben "ATL"Sie zurück "Atlanta". Andernfalls, wenn [AirportCode] ist, geben "SEA"Sie zurück "Seattle". Andernfalls wird zurückgegeben "Other".

  2. Ausdruck:

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

    Ergebnis: Wenn [ShipDate] vor dem heutigen Datum liegt, geben Sie zurück "Shipped". [ShipDate] Wenn dem heutigen Datum entspricht, wird andernfalls zurückgegeben"Shipping today". Andernfalls wird zurückgegeben "Unshipped".

  3. Ausdruck:

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

    Ergebnis: Wenn [PurchaseDate] älter als 1/1/2008ist, geben Sie zurück "Old". Andernfalls wird zurückgegeben "New".

  4. Ausdruck:

    =IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration")
    

    Ergebnis: Wenn [Volts] zwischen 12 und 15 liegt und [Amps] zwischen 0,25 und 0,3 liegt, wird zurückgegeben "OK". Andernfalls wird zurückgegeben "Out of calibration".

  5. Ausdruck:

    =IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"North America","Other")
    

    Ergebnis: Wenn [CountryRegion] , "USA"oder "Mexico"ist"Canada", geben Sie zurück"North America". Andernfalls wird zurückgegeben "Other".

  6. Ausdruck:

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

    Ergebnis: Wenn [Average] 90 oder höher ist, geben Sie zurück "A". [Average] Wenn andernfalls 80 oder höher ist, wird zurückgegeben"B". [Average] Wenn andernfalls 70 oder höher ist, wird zurückgegeben"C". [Average] Wenn andernfalls 60 oder höher ist, wird zurückgegeben"D". Andernfalls wird zurückgegeben "F".

Hinweis

Wenn Sie die IIf -Funktion verwenden, um ein berechnetes Feld in einer Abfrage zu erstellen, ersetzen Sie das Gleichheitszeichen (=) durch einen Feldalias und einen Doppelpunkt (:). Beispiel: Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).