Monday, July 25, 2022

IIf-Funktion

Gibt abhängig von der Auswertung eines Ausdrucks einen von zwei Teilen zurück.

Sie können IIf überall dort verwenden, wo Sie Ausdrücke verwenden können. Sie verwenden IIf , um festzustellen, ob ein anderer Ausdruck wahr oder falsch ist. Wenn der Ausdruck wahr ist, gibt IIf einen Wert zurück; wenn es falsch ist, gibt IIf ein anderes zurück. Sie geben die Werte an, die IIf zurückgibt.

Siehe einige Beispiele

Syntax

IIf ( expr , wahrer Teil , falscher Teil )

Die Syntax der IIf- Funktion hat die folgenden Argumente:

Streit

Beschreibung

Ausdruck

Erforderlich. Ausdruck, den Sie auswerten möchten.

wahrer Teil

Erforderlich. Zurückgegebener Wert oder Ausdruck, wenn expr True ist.

Falschteil

Erforderlich. Zurückgegebener Wert oder Ausdruck, wenn expr False ist.


Bemerkungen

IIf wertet immer sowohl truepart als auch falsepart aus, obwohl es nur einen von ihnen zurückgibt. Aus diesem Grund sollten Sie auf unerwünschte Nebenwirkungen achten. Wenn beispielsweise die Auswertung von falsepart zu einem Division-durch-Null-Fehler führt, tritt ein Fehler auf, selbst wenn expr True ist.

Beispiele

Verwenden Sie IIf in einem Formular oder Bericht Angenommen, Sie haben eine Customers-Tabelle, die ein Feld namens CountryRegion enthält. In einem Formular möchten Sie angeben, ob Italienisch die erste Sprache des Kontakts ist. Sie können ein Steuerelement hinzufügen und IIf in seiner Control Source -Eigenschaft wie folgt verwenden:

=IIf([CountryRegion]="Italien", "Italienisch", "Einige andere Sprache")

Wenn Sie das Formular in der Formularansicht öffnen, zeigt das Steuerelement „Italienisch" an, wenn der Wert für „CountryRegion" Italien ist, und „Some other language", wenn „CountryRegion" ein anderer Wert ist.

IIf in komplexen Ausdrücken verwenden Sie können jeden Ausdruck als Teil einer IIf -Anweisung verwenden. Sie können IIf -Ausdrücke auch "verschachteln", wodurch Sie eine Reihe abhängiger Ausdrücke auswerten können. Um mit dem vorangehenden Beispiel fortzufahren, möchten Sie möglicherweise mehrere verschiedene CountryRegion-Werte testen und dann die entsprechende Sprache anzeigen, je nachdem, welcher Wert vorhanden ist:

=IIf([CountryRegion]="Italien", "Italienisch", IIf([CountryRegion]="Frankreich", "Französisch", IIf([CountryRegion]="Deutschland", "Deutsch", "Einige andere Sprache")) )

Der Text "Einige andere Sprache" ist das Falschteil- Argument der innersten IIf -Funktion. Da jede verschachtelte IIf -Funktion das Falsepart- Argument der IIf -Funktion ist, die sie enthält, wird der Text „Some other language" nur zurückgegeben, wenn alle expr- Argumente aller IIf -Funktionen zu False ausgewertet werden.

Angenommen, Sie arbeiten in einer Bibliothek. Die Bibliotheksdatenbank hat eine Tabelle mit dem Namen „Ausleihen", die ein Feld mit dem Namen „Fälligkeitsdatum" enthält, das das Datum enthält, an dem ein bestimmtes Buch zurückgegeben werden muss. Sie können ein Formular erstellen, das den Status eines ausgecheckten Elements in einem Steuerelement anzeigt, indem Sie die IIf -Funktion in der Eigenschaft Steuerelementquelle dieses Steuerelements wie folgt verwenden:

=IIf([Fälligkeitsdatum]<Datum(),"ÜBERFÄLLIG",IIf([Fälligkeitsdatum]=Datum(),"Heute fällig","Noch nicht fällig"))

Wenn Sie das Formular in der Formularansicht öffnen, zeigt das Steuerelement „ÜBERFÄLLIG" an, wenn der Wert des Fälligkeitsdatums kleiner als das aktuelle Datum ist, „Heute fällig", wenn er gleich dem aktuellen Datum ist, und andernfalls „Noch nicht fällig".

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. Siehe die folgende Beispieltabelle.

Verwenden Sie IIf in einer Abfrage

Die IIf- Funktion wird häufig verwendet, um berechnete Felder in Abfragen zu erstellen. Die Syntax ist dieselbe, mit der Ausnahme, dass Sie dem Ausdruck in einer Abfrage einen Feldaliasnamen und einen Doppelpunkt ( : ) anstelle eines Gleichheitszeichens ( = ) voranstellen müssen. Um das vorherige Beispiel zu verwenden, würden Sie Folgendes in die Feldzeile des Abfrageentwurfsbereichs eingeben:

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

In diesem Fall ist "Sprache:" der Feldalias.

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

Verwenden Sie IIf im VBA-Code

Hinweis: Die folgenden Beispiele veranschaulichen die Verwendung dieser Funktion in einem Visual Basic for Applications (VBA)-Modul. Um weitere Informationen zum Arbeiten mit VBA zu erhalten, wählen Sie Entwicklerreferenz in der Dropdown-Liste neben Suchen aus und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

Dieses Beispiel verwendet die IIf -Funktion, um den TestMe- Parameter der CheckIt- Prozedur auszuwerten, und gibt das Wort „Large" zurück, wenn der Betrag größer als 1000 ist; Andernfalls wird das Wort "Small" zurückgegeben.

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

Mehr Beispiele

Ausdruck

Ergebnisse

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

Wenn [AirportCode] "ORD" ist, geben Sie "Chicago" zurück. Andernfalls, wenn [AirportCode] "ATL" ist, geben Sie "Atlanta" zurück. Andernfalls, wenn [AirportCode] "SEA" ist, geben Sie "Seattle" zurück. Geben Sie andernfalls "Andere" zurück.

=IIf([Versanddatum]<Datum(),"Versandt",IIf([Versanddatum]=Datum(),"Versand heute","Nicht versandt"))

Wenn [Versanddatum] vor dem heutigen Datum liegt, geben Sie „Versendet" zurück. Andernfalls, wenn [ShipDate] gleich dem heutigen Datum ist, geben Sie "Heute versenden" zurück. Geben Sie andernfalls „Nicht versandt" zurück.

=IIf([Kaufdatum]<#1.1.2008#,"Alt","Neu")

Wenn [Kaufdatum] vor dem 1.1.2008 liegt, geben Sie „Alt" zurück. Geben Sie andernfalls „Neu" zurück.

=IIf(Eval([Volt] zwischen 12 und 15 und [Ampere] zwischen 0,25 und 0,3),"OK","Außerhalb der Kalibrierung")

Wenn [Volt] zwischen 12 und 15 und [Ampere] zwischen 0,25 und 0,3 liegt, geben Sie „OK" zurück. Geben Sie andernfalls „Außerhalb der Kalibrierung" zurück.

=IIf(Eval([LandRegion] In ("Kanada","USA","Mexiko")),"Nordamerika","Andere")

Wenn [LandRegion] „Kanada", „USA" oder „Mexiko" ist, geben Sie „Nordamerika" zurück. Geben Sie andernfalls "Andere" zurück.

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

Wenn [Durchschnitt] 90 oder größer ist, geben Sie „A" zurück. Andernfalls, wenn [Durchschnitt] 80 oder größer ist, "B" zurückgeben. Andernfalls, wenn [Durchschnitt] 70 oder größer ist, wird „C" zurückgegeben. Andernfalls, wenn [Durchschnitt] 60 oder größer ist, wird „D" zurückgegeben. Geben Sie andernfalls "F" zurück.

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

No comments:

Post a Comment