Funkcija IIf

Attiecas uz
Access pakalpojumam Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Atgriež vienu no divām daļām atkarībā no izteiksmes novērtējuma.

Varat izmantot IIf izteiksmes visur, kur varat izmantot. Lietojiet IIf , lai noteiktu, vai cita izteiksme ir patiesa vai aplama. Ja izteiksme ir patiesa, IIf atgriež vienu vērtību. Ja tas ir aplams, IIf atgriež citu vērtību. Ir jānorāda atgriežamās IIf vērtības.

Skatiet dažus piemērus

Sintakse

IIf(expr, truepart, falsepart)

Funkcijas IIf sintaksei ir šādi argumenti:

Arguments Apraksts
expr Obligāts arguments. Izteiksme, kuru vēlaties novērtēt.
truepart Obligāts arguments. Vērtība vai izteiksme tiek atgriezta, ja expr tāda ir True.
falsepart Obligāts arguments. Vērtība vai izteiksme tiek atgriezta, ja expr tāda ir False.

Piezīmes

IIf Vienmēr novērtē abus truepart un falsepart, lai gan atgriež tikai vienu no tiem. Šādas uzvedības dēļ novērojiet nevēlamas blakusparādības. Piemēram, ja novērtēšanas falsepart rezultāts ir dalīšana ar nulli, kļūda rodas pat tad, ja expr ir True.

Piemēri

Izmantošana IIf formā vai atskaitē

Pieņemsim, ka jums ir tabula, Customers kurā ir lauks ar nosaukumu CountryRegion. Formā vēlaties parādīt, vai itāļu valoda ir kontaktpersonas pirmā valoda. Varat pievienot vadīklu un izmantot IIf tās Control Source rekvizītā:

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

Atverot formu formas skatā, vadīkla tiek parādīta Italian ikreiz, kad vērtība ir ItalyCountryRegion . Tā tiek rādīta Some other language ikreiz, kad tam CountryRegion ir kāda cita vērtība.

Lietošana IIf saliktās izteiksmēs

Jebkuru izteiksmi var izmantot jebkurā priekšraksta IIf daļā. Varat arī ligzdot IIf izteiksmes, kas ļauj novērtēt atkarīgu izteiksmju sēriju. Lai turpinātu iepriekšējo piemēru, varat pārbaudīt vairākas atšķirīgas CountryRegion vērtības un pēc tam parādīt atbilstošo valodu, pamatojoties uz vērtību:

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

Teksts Some other language ir falsepart iekšējās IIf funkcijas arguments. Tā kā katra ligzdotā funkcija ir falsepart tās funkcijas argumentsIIf, kas to satur, teksts Some other language tiek atgriezts tikai tad, ja visi funkciju argumenti exprIIf tiek novērtēti kā False.IIf

Cits piemērs: jūs strādājat bibliotēkā. Bibliotēkas datu bāzē ir tabula ar nosaukumu Check Outs , kurā ir lauks ar nosaukumu Due Date, kurā norādīts konkrētās grāmatas atpakaļizpildes datums. Formu, kas rāda paņemta vienuma statusu vadīklā, var izveidot, izmantojot IIf funkciju šīs vadīklas rekvizītā Control Source :

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

Atverot formu formas skatā, vadīklā tiek rādītsOVERDUE, vai vērtība Due Date ir mazāka par pašreizējo datumu, Due today ja tā ir vienāda ar pašreizējo datumu un Not Yet Due citādi.

Piezīme

Lai izmantotu loģiskos operatorus, piemēram And , funkcijas Or argumentā exprIIf , loģiskā izteiksme ir jāiekļauj funkcijā Eval . Skatiet tālāk esošo tabulas piemēru.

Izmantošana IIf vaicājumā

Šo IIf funkciju bieži izmanto aprēķināto lauku izveidei vaicājumos. Sintakse ir tāda pati, tikai vaicājumā izteiksmes sākumā jālieto lauka aizstājvārds un kols (:), nevis vienādības zīme (=). Lai izmantotu iepriekšējo piemēru, vaicājuma noformējuma režģa rindā Lauks ierakstiet šādu tekstu:

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

Šajā gadījumā Language: ir lauka aizstājvārds.

Papildinformāciju par vaicājumu un aprēķināto lauku izveidi skatiet sadaļā Vienkārša atlases vaicājuma izveide.

Lietošana IIf VBA kodā

Piezīme

Nākamajos piemēros ir parādīts, kā izmantot šo funkciju Visual Basic for Applications (VBA) modulī. Lai iegūtu papildinformāciju par darbu ar VBA, nolaižamajā sarakstā atlasiet Uzziņas materiāli izstrādātājiem blakus meklēšanas lodziņam un pēc tam meklēšanas lodziņā ievadiet vienu vai vairākus vārdus.

Šajā piemērā funkcija tiek izmantota IIf , TestMe lai novērtētu procedūras parametru CheckIt un atgrieztu vārdu Large , ja summa ir lielāka par 1000. Pretējā gadījumā tā atgriež vārdu Small.

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

Citi piemēri

  1. Izteiksme:

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

    Rezultāts: Ja [AirportCode] ir "ORD", atgriezt "Chicago". Pretējā gadījumā, ja [AirportCode] ir "ATL", atgriezt "Atlanta". Pretējā gadījumā, ja [AirportCode] ir "SEA", atgriezt "Seattle". Pretējā gadījumā atgrieziet "Other".

  2. Izteiksme:

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

    Rezultāts: ja [ShipDate] ir agrāks par šodienas datumu, atgriezt "Shipped". Pretējā gadījumā, ja [ShipDate] vienāds ar šodienas datumu, atgriezt "Shipping today". Pretējā gadījumā atgrieziet "Unshipped".

  3. Izteiksme:

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

    Rezultāts: Ja [PurchaseDate] ir agrāk par 1/1/2008, atgriezt "Old". Pretējā gadījumā atgrieziet "New".

  4. Izteiksme:

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

    Rezultāts: ja [Volts] ir no 12 līdz 15 un [Amps] ir no 0,25 līdz 0,3, atgriež "OK". Pretējā gadījumā atgrieziet "Out of calibration".

  5. Izteiksme:

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

    Rezultāts: ja [CountryRegion] ir "Canada", "USA"vai "Mexico", atgriezt "North America". Pretējā gadījumā atgrieziet "Other".

  6. Izteiksme:

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

    Rezultāts: Ja [Average] ir 90 vai vairāk, atgriezt "A". Pretējā gadījumā, ja [Average] vērtība ir 80 vai lielāka, atgriezt "B". Pretējā gadījumā, ja [Average] ir 70 vai vairāk, atgriezt "C". Pretējā gadījumā, ja [Average] šī vērtība ir 60 vai lielāka, atgriezt "D". Pretējā gadījumā atgrieziet "F".

Piezīme

Ja izmantojat funkciju, IIf lai vaicājumā izveidotu aprēķinātu lauku, aizstājiet vienādības zīmi (=) ar lauka aizstājvārdu un kolu (:). Piemēram, Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).