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

Returnează una din două părți, în funcție de evaluarea unei expresie.

Puteți utiliza IIf oriunde puteți utiliza expresii. Utilizați IIf pentru a determina dacă altă expresie este adevărată sau falsă. Dacă expresia este adevărată, IIf returnează o valoare; dacă este fals, IIf returnează altul. Specificați valorile pe care le returnează IIf .

Vedeți câteva exemple

Sintaxă

IIf ( expresie , partea adevărată , parte falsă )

Sintaxa funcției IIf are următoarele argumente:

Argument

Descriere

expr

Obligatoriu. Expresie pe care doriți să o evaluați.

parte adevărată

Obligatoriu. Valoarea sau expresia returnată dacă expr este True.

parte falsă

Obligatoriu. Valoarea sau expresia returnată dacă expr este False.

Observații

IIf evaluează întotdeauna atât partea adevărată , cât și partea falsă, chiar dacă returnează doar una dintre ele. Din acest motiv, ar trebui să urmăriți pentru reacții adverse nedorite. De exemplu, dacă evaluarea părții false duce la o eroare de împărțire la zero, apare o eroare chiar dacă expr este True.

Exemple

Utilizarea IIf într-un formular sau raport    Să presupunem că aveți un tabel Clienți care conține un câmp denumit ȚarăRegiune. Într-un formular, doriți să specificați dacă italiana este prima limbă a persoanei de contact. Puteți să adăugați un control și să utilizați IIf în proprietatea Sa Sursă control , astfel:

=IIf([ȚarăRegiune]="Italia", "Italiană", "Altă limbă")

Atunci când deschideți formularul în vizualizarea Formular, controlul afișează "italiană" ori de câte ori valoarea pentru ȚarăRegiune este Italia și "Altă limbă" de fiecare dată când ȚarăRegiune este orice altă valoare.

Utilizarea IIf în expresii complexe    Puteți utiliza orice expresie ca parte a unei instrucțiune IIf . De asemenea, puteți "imbrica" expresii IIf , permițându-vă să evaluați o serie de expresii dependente. Pentru a continua cu exemplul anterior, se recomandă să testați mai multe valori ȚarăRegiune diferite, apoi să afișați limba corespunzătoare, în funcție de valoarea care există:

=IIf([ȚarăRegiune]="Italia", "Italiană", IIf([ȚarăRegiune]="Franța", "Franceză", IIf([ȚarăRegiune]="Germania", "Germană", "Altă limbă")))

Textul "Altă limbă" este argumentul părții false a funcției IIf cea mai interioară. Deoarece fiecare funcție IIf imbricată este argumentul părții false a funcției IIf care o conține, textul "Altă limbă" este returnat doar dacă toate argumentele expr ale tuturor funcțiilor IIf se evaluează la False.

Pentru un alt exemplu, să presupunem că lucrați la o bibliotecă. Baza de date a bibliotecii are un tabel denumit Extrageri care conține un câmp, denumit Dată scadență, care conține data la care trebuie să revină o anumită carte. Puteți crea un formular care indică starea unui element extras într-un control utilizând funcția IIf din proprietatea Sursă control a acelui control, astfel:

=IIf([Dată scadență]<Date(),"DEPĂȘIT",IIf([Dată scadență]=Date(),"Scadentă astăzi","Neactceptat încă"))

Atunci când deschideți formularul în Vizualizarea formular, controlul afișează "DEPĂȘIT" dacă valoarea Datei scadente este mai mică decât data curentă, "Scadentă astăzi" dacă este egală cu data curentă și "Ne scadent încă", altfel.

Notă: Pentru a utiliza operatori logici, cum ar fi "And" sau "Or" în argumentul expr al funcției IIf , trebuie să încadrați expresia logică în funcția Eval . Vedeți tabelul exemplu care urmează.

Utilizarea IIf într-o interogare    

Funcția IIf este utilizată frecvent pentru a crea câmpuri calculate în interogări. Sintaxa este aceeași, cu excepția faptului că, într-o interogare, trebuie să prefațați expresia cu un alias de câmp și două puncte (:) în loc de semnul egal (=). Pentru a utiliza exemplul precedent, tastați următoarele în rândul Câmp din grila de proiectare a interogării:

Limbă: IIf([ȚarăRegiune]="Italia", "Italiană", "Altă limbă")

În acest caz, "Limbă:" este aliasul câmpului.

Pentru mai multe informații despre crearea interogărilor și a câmpurilor calculate, consultați articolul Crearea unei interogări de selectare simple.

Utilizarea IIf în cod VBA    

Notă: Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.

Acest exemplu utilizează funcția IIf pentru a evalua parametrul TestMe al procedurii CheckIt și returnează cuvântul "Mare" dacă valoarea este mai mare decât 1000; altfel, returnează cuvântul "Mic".

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

Mai multe exemple

Expresie

Rezultatele

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

Dacă [AirportCode] este "ORD", returnează "Chicago". În caz contrar, dacă [AirportCode] este "ATL", returnează "Atlanta". În caz contrar, dacă [AirportCode] este "SEA", returnează "Seattle". În caz contrar, returnează "Altele".

=IIf([DatăExpediere]<Date(),"Livrat",IIf([DatăExpediere]=Date(),"Livrare astăzi","Neshipped"))

Dacă [DatăExpediere] este anterioară datei de astăzi, returnați "Livrat". În caz contrar, dacă [DatăExpediere] este egal cu data de astăzi, returnați "Livrare astăzi". În caz contrar, returnează "Unshipped".

=IIf([Dată Achiziție]<#1/1/2008#,"Vechi","Nou")

Dacă [Dată Achiziție] este anterioară datei de 01.01.2008, returnați "Vechi". În caz contrar, returnează "Nou".

=IIf(Eval([Volți] Between 12 And 15 And [Amperi] Between 0.25 And 0.3),"OK","Din calibrare")

Dacă [Volți] este între 12 și 15 și [Amperi] este între 0,25 și 0,3, returnați "OK". În caz contrar, returnați "Nu mai este calibrare".

=IIf(Eval([ȚarăRegiune] In ("Canada","SUA","Mexic")),"America de Nord","Altele")

Dacă [ȚarăRegiune] este "Canada", "SUA" sau "Mexic", returnează "America de Nord". În caz contrar, returnează "Altele".

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

Dacă [Medie] este 90 sau mai mare, returnează "A". Altfel, dacă [Medie] este 80 sau mai mare, returnează "B". Altfel, dacă [Medie] este 70 sau mai mare, returnează "C". Altfel, dacă [Medie] este 60 sau mai mare, returnează "D". În caz contrar, returnează "F".

Notă: Dacă utilizați funcția IIf pentru a crea un câmp calculat într-o interogare, înlocuiți semnul egal (=) cu un alias de câmp și două puncte (:). De exemplu, Stare: IIf([DatăExpediere]<Date(),"Livrat",IIf([DatăExpediere]=Date(),"Livrare astăzi","Neshipped"))

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.