Notă: Dorim să vă oferim cel mai recent conținut de ajutor, cât mai rapid posibil, în limba dvs. Această pagină a fost tradusă automatizat și poate conține erori gramaticale sau inexactități. Scopul nostru este ca acest conținut să vă fie util. Vă rugăm să ne spuneți dacă informațiile v-au fost utile, în partea de jos a acestei pagini. Aici se află articolul în limba engleză, ca să îl puteți consulta cu ușurință.
Returnează o parte din două, în funcție de evaluarea unei expresie.
Puteți să utilizați IIf în orice loc în care se utilizează expresii. Utilizați IIf pentru a determina dacă altă expresie este adevărată sau falsă. Dacă expresia este adevărată, IIf returnează o singură valoare; dacă este falsă, IIf returnează altă valoare. Dvs. specificați valorile pe care le returnează IIf.
Sintaxă
IIf ( expr , valoare adevărat , valoare fals )
Sintaxa funcției IIf are următoarele argumente:
Argument | Descriere |
---|---|
expr |
Obligatoriu. Expresia pe care doriți să o evaluați. |
parteadevărată |
Obligatoriu. Valoarea sau expresia returnată dacă expr este Adevărată. |
partefalsă |
Obligatoriu. Valoarea sau expresia returnată dacă expr este Falsă. |
Observații
IIf evaluează întotdeauna atât parteadevărată, cât și partefalsă, chiar dacă o returnează doar pe una dintre acestea. Din acest motiv, ar trebui să aveți grijă să nu apară efecte adverse nedorite. De exemplu, dacă evaluând partefalsă aveți ca rezultat o eroare de împărțire la zero, apare o eroare chiar dacă expr este Adevărată.
Exemple
Utilizarea IIf dintr-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 care doriți să denotă dacă italiană este prima limbă a persoanei de contact. Puteți să adăugați un control și utilizarea funcției IIf în proprietatea Sursă Control , astfel:
=IIf([ȚarăRegiune]="Italia", "Italiană", "O altă limbă")
Atunci când deschideți formularul în Vizualizarea formular, controlul afișează „Italiană” de fiecare dată când valoarea pentru ȚarăRegiune este Italia și „O altă limbă” de fiecare dată când ȚarăRegiune este oricare altă valoare.
Utilizarea IIf în expresii complexe Puteți să utilizați orice expresie ca orice parte dintr-o declarație IIf . Puteți, de asemenea, "imbrica" IIf expresii, care vă permite să evaluați o serie de expresii dependente. Pentru a continua cu exemplul anterior, se recomandă să testați pentru mai multe valori Țarăregiune diferite și apoi Afișați limba potrivită în funcție de care există valoare:
=IIf([ȚarăRegiune]="Italia", "Italiană", IIf([ȚarăRegiune]="Franța", "Franceză", IIf([ȚarăRegiune]="Germania", "Germană", "O altă limbă")))
Textul "O altă limbă" este argumentul partefalsă al funcției IIf interioară. Pentru că fiecare funcție IIf imbricată este argumentul partefalsă al funcției IIf care o conține, textul "O altă limbă" este returnat doar dacă toate argumentele expr ale tuturor funcțiilor IIf se evaluează ca False.
Pentru alt exemplu, să presupunem că lucrați într-o bibliotecă. Baza de date a bibliotecii are un tabel denumit Împrumuturi care conține un câmp numit Dată scadentă, care conține data la care trebuie returnată o anumită carte. Puteți să creați un formular care indică starea unui element împrumutat într-un control, utilizând funcția IIf din proprietatea Sursă control a acelui control, în felul următor:
=IIf([Dată scadentă]<Data(),"ÎNTÂRZIERE",IIf([Dată scadentă]=Dată(),"Scadent azi","Încă nu este scadent"))
Atunci când deschideți formularul în vizualizarea Formular, controlul afișează "ÎNTÂRZIERE" dacă valoarea pentru Dată scadentă este mai mică decât data curentă, "Scadent azi" dacă este egală cu data curentă și "Încă nu este scadent" dacă este mai mare decât data curentă.
Notă: Pentru a utiliza operatori logici, cum ar fi "Și" sau "Sau" în argumentul expr funcției IIf , trebuie să introduceți expresia logică în funcția Eval . Consultați tabelul de exemplu care urmează.
Utilizarea IIf într-o interogare
Funcția IIf este frecvent utilizate pentru a crea câmpuri calculate în interogări. Sintaxa este la fel, cu excepția că într-o interogare, trebuie să prefata expresia cu un alias câmp și două puncte (:) în loc de un semn egal (=). Pentru a utiliza exemplul anterior, să tastați următoarele în rândul câmp din grila de proiectare interogare:
Limbă: IIf([ȚarăRegiune]="Italia", "Italiană", "O altă limbă")
În acest caz, „Limbă:” este aliasul de câmp.
Pentru mai multe informații despre crearea interogărilor și câmpuri calculate, consultați articolul crearea unei interogări de selectare simplă.
Utilizarea IIf în codul 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 Testare al procedurii CheckIt și returnează cuvântul „Mare” în cazul în care cantitatea depășește 1000; altfel, returnează cuvântul „Mic”.
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
Mai multe exemple
Expresie | Rezultate |
---|---|
=IIf([CodAeroport]="ORD","Chicago",IIf([CodAeroport]="ATL","Atlanta",IIf([CodAeroport]="SEA","Seattle","Altele"))) |
Dacă [CodAeroport] este „ORD”, returnează „Chicago”. Altfel, dacă [CodAeroport] este „ATL”, returnează „Atlanta”. Altfel, dacă [CodAeroport] este „SEA”, returnează „Seattle”. Altfel, returnează „Altele”. |
=IIf([DataLivrării]<Dată(),"Livrat",IIf([DataLivrării]=Dată(),"Se livrează astăzi","Nelivrat")) |
Dacă [DataLivrării] este anterioară datei curente, returnează „Livrat”. Altfel, dacă [DataLivrării] este egală cu data de astăzi, returnează „Se livrează astăzi”. Altfel, returnează „Nelivrat”. |
=IIf([DataCumpărării]<#1/1/2008#,"Vechi","Nou") |
Dacă [DataCumpărării] este anterioară datei 1/1/2008, returnează „Vechi”. Altfel, returnează „Nou”. |
=IIf(Eval([Volți] Between 12 și 15 And [Amp] Between 0,25 And 0,3),"OK","Fără calibrare") |
Dacă [Volți] este între 12 și 15 și [Amp] este între 0,25 și 0,3, returnează „OK”. Altfel, returnează „Fără calibrare”. |
=IIf(Eval([ȚarăRegiune] în ("Canada","SUA","Mexic")),"America de Nord","Altele") |
Dacă [ȚarăRegiune] este „Canada”, „SUA” sau „Mexic”, returnează „America de Nord”. Altfel, 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 mult, returnează „B”. Altfel, dacă [Medie] este 70 sau mai mult, returnează „C”. Altfel, dacă [Medie] este 60 sau mai mare, returnează „D”. Altfel, returnează „F”. |
Notă: Dacă utilizați funcția IIf pentru a crea un câmp calculat într-o interogare, înlocui semnul egal (=) cu un alias câmp și un simbol două puncte (:). De exemplu, stare: IIf ([DatăLivrare] < dată (), "Livrate", IIf ([DatăLivrare] = (dată), "Expediere astăzi", "Unshipped"))