Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Zwraca jedną z dwóch części, w zależności od oceny wyrażenie.

Funkcji IIf można używać wszędzie, gdzie można używać wyrażeń. Funkcja IIf służy do określania, czy inne wyrażenie ma wartość prawdziwą, czy fałsz. Jeśli wyrażenie jest prawdziwe, funkcja IIf zwraca jedną wartość. jeśli jest fałszywy, funkcja IIf zwraca inną wartość. Określasz wartości zwracane przez funkcję IIf .

Zobacz kilka przykładów

Składnia

IIf ( wyr ., część_prawdziwa ; część_fałszywa )

W składni funkcji IIf występują następujące argumenty:

Argument

Opis

wyrażenie

Argument wymagany. Wyrażenie, które chcesz oszacować.

truepart

Argument wymagany. Wartość lub wyrażenie zwracane, jeśli wyrażenie ma wartość Prawda.

falsepart

Argument wymagany. Wartość lub wyrażenie zwracane, jeśli wyrażenie ma wartość Fałsz.

Spostrzeżenia

Funkcja IIf zawsze ocenia wartość truepart i falsepart, mimo że zwraca tylko jedną z nich. Z tego powodu, należy watch dla niepożądanych skutków ubocznych. Na przykład w przypadku oceny wyników części fałszywej w wyniku dzielenia przez zero występuje błąd, nawet jeśli wyr . ma wartość Prawda.

Przykłady

Używanie funkcji IIf w formularzu lub raporcie    Załóżmy, że masz tabelę Klienci zawierającą pole o nazwie KrajRegion. W formularzu chcesz określić, czy pierwszym językiem kontaktu jest włoski. Kontrolkę można dodać i użyć funkcji IIf we właściwości Źródło kontrolki , na przykład:

=IIf([KrajRegion]="Włochy", "Włoski", "Inny język")

Po otwarciu formularza w widoku formularza kontrolka wyświetla wartość "Włoski", gdy wartość dla krajówRegion to Włochy, i "Inny język", gdy krajRegion jest inną wartością.

Używanie funkcji IIf w złożonych wyrażeniach    Jako dowolnej części instrukcji IIf można użyć dowolnego wyrażenia. Można również "zagnieżdżać" wyrażenia IIf , co umożliwia ocenę serii wyrażeń zależnych. Aby przejść do poprzedniego przykładu, można przetestować kilka różnych wartości CountryRegion, a następnie wyświetlić odpowiedni język w zależności od tego, która wartość istnieje:

=IIf([KrajRegion]="Włochy", "Włoski", IIf([KrajRegion]="Francja", "Francuski", IIf([KrajRegion]="Niemcy", "Niemiecki", "Inny język")))

Tekst "Inny język" jest argumentem część_fałszywa najważniejszej funkcji IIf . Ponieważ każda zagnieżdżona funkcja IIf jest argumentem części fałszywej zawierającej funkcję IIf , tekst "Inny język" jest zwracany tylko wtedy, gdy wszystkie argumenty wyrów wszystkich funkcji IIf mają wartość Fałsz.

Załóżmy na przykład, że pracujesz w bibliotece. Baza danych biblioteki zawiera tabelę o nazwie Wyewidencjonuj, która zawiera pole o nazwie Data ukończenia, które zawiera datę, w której określona książka ma zostać wycofana. Możesz utworzyć formularz wskazujący stan wyewidencjonowanego elementu w kontrolce przy użyciu funkcji IIf we właściwości Źródło kontrolki tej kontrolki, na przykład:

=IIf([Data ukończenia]<Date();"ZALEGŁE";IIf([Data ukończenia]=Date();"Termin wykonania dzisiaj";"Jeszcze nie należy"))

Po otwarciu formularza w widoku formularza kontrolka wyświetla wartość "ZALEGŁE", jeśli wartość daty ukończenia jest mniejsza niż bieżąca data, "Termin dzisiaj", jeśli jest równa bieżącej dacie, a w przeciwnym razie "Jeszcze nie należy".

Uwaga: Aby użyć operatorów logicznych, takich jak "And" lub "Or" w argumentze wyrażenie funkcji IIf , należy ująć wyrażenie logiczne w funkcję Eval . Zobacz poniższą tabelę przykładowej.

Używanie funkcji IIf w zapytaniu    

Funkcja IIf jest często używana do tworzenia pól obliczeniowych w zapytaniach. Składnia jest taka sama, z wyjątkiem tego, że w zapytaniu należy poprzedzić wyrażenie aliasem pola i dwukropkiem (:), a nie znakiem równości (=). Aby użyć poprzedniego przykładu, w wierszu Pole siatki projektu zapytania wpisz następujące wyrażenie:

Język: IIf([KrajRegion]="Włochy", "Włoski", "Inny język")

W takim przypadku aliasem pola jest "Język:".

Aby uzyskać więcej informacji na temat tworzenia zapytań i pól obliczeniowych, zobacz artykuł Tworzenie prostego zapytania wybierającego.

Używanie funkcji IIf w kodzie VBA    

Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

W tym przykładzie użyto funkcji IIf do oceny parametru TestMe procedury CheckIt i zwrócenia wyrazu "Duży", jeśli wartość jest większa niż 1000. W przeciwnym razie zwraca wyraz "Mały".

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

Więcej przykładów

Expression

Wyniki

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

Jeśli [AirportCode] to "ORD", zwróć "Chicago". W przeciwnym razie, jeśli [AirportCode] to "ATL", zwróć "Atlanta". W przeciwnym razie, jeśli [AirportCode] to "SEA", zwróć "Seattle". W przeciwnym razie zwróć wartość "Inne".

=IIf([DataWysyłki]<Date();"Wysłane";IIf([DataWysyłki]=Date();"Wysyłka dzisiaj";"Nierozświetzone"))

Jeśli wartość [DataWysyłki] jest wcześniejsza niż dzisiejsza data, zwróć wartość "Wysłano". W przeciwnym razie, jeśli wartość [DataWysyłki] jest równa dzisiejszej dacie, zwróć "Wysyłka dzisiaj". W przeciwnym razie zwróć "Odśnieżone".

=IIf([DataKupu]<#2008-01-01#"Stary";"Nowy")

Jeśli wartość [Data Zakupu] przypada przed 01.01.2008, zwróć wartość "Stary". W przeciwnym razie zwróć wartość "Nowy".

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

Jeśli wartość [V] wynosi od 12 do 15, a wartość [A] wynosi od 0,25 do 0,3, zwróć wartość "OK". W przeciwnym razie zwróć wartość "Poza kalibracją".

=IIf(Eval([KrajRegion] In ("Kanada";"USA";"Meksyk"));"Ameryka Północna";"Inne")

Jeśli [KrajRegion] to "Kanada", "USA" lub "Meksyk", zwróć "Ameryka Północna". W przeciwnym razie zwróć wartość "Inne".

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

Jeśli wartość argumentu [Średnia] wynosi 90 lub więcej, zwróć wartość "A". W przeciwnym razie, jeśli wartość [Średnia] wynosi 80 lub więcej, zwróć wartość "B". W przeciwnym razie, jeśli wartość [Średnia] wynosi 70 lub więcej, zwróć wartość "C". W przeciwnym razie, jeśli wartość [Średnia] wynosi 60 lub więcej, zwróć wartość "D". W przeciwnym razie zwróć wartość "F".

Uwaga: Jeśli tworzysz pole obliczeniowe w zapytaniu za pomocą funkcji IIf , zamień znak równości (=) na alias pola i dwukropek (:). Na przykład stan: IIf([DataWysyłki]<Date();"Wysłane";IIf([DataWysyłki]=Date();"Wysyłka dzisiaj";"Nierozświetzone"))

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.