Fungsi IIf

Berlaku Untuk
Access untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Menghasilkan satu dari dua bagian, tergantung pada evaluasi suatu ekspresi.

Anda dapat menggunakan IIf ekspresi di mana saja. Gunakan IIf untuk menentukan apakah ekspresi lain benar atau salah. Jika ekspresi benar, IIf mengembalikan satu nilai. Jika false, IIf mengembalikan nilai lain. Anda menentukan nilai yang IIf dikembalikan.

Lihat beberapa contoh

Sintaks

IIf(expr, truepart, falsepart)

IIf Sintaks fungsi memiliki argumen ini:

Argumen Deskripsi
expr Diperlukan. Ekspresi yang ingin Anda evaluasi.
truepart Diperlukan. Nilai atau ekspresi yang dikembalikan jika expr adalah True.
falsepart Diperlukan. Nilai atau ekspresi yang dikembalikan jika expr adalah False.

Keterangan

IIf selalu mengevaluasi keduanya truepart dan falsepart, meskipun hanya mengembalikan salah satu dari mereka. Karena perilaku ini, perhatikan efek samping yang tidak diinginkan. Misalnya, jika mengevaluasi falsepart hasil dalam kesalahan pembagian demi nol, kesalahan terjadi bahkan jika expr .True

Contoh

Menggunakan IIf pada formulir atau laporan

Anggaplah Anda memiliki Customers tabel yang berisi bidang bernama CountryRegion. Dalam formulir, Anda ingin memperlihatkan apakah bahasa Italia adalah bahasa kontak pertama. Anda dapat menambahkan kontrol dan penggunaan IIf dalam propertinya Control Source :

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

Saat Anda membuka formulir dalam Tampilan Formulir, kontrol akan ditampilkan Italian setiap kali nilainya CountryRegion adalah Italy. Tampilannya Some other language setiap kali CountryRegion memiliki nilai lain.

Gunakan IIf dalam ekspresi kompleks

Anda bisa menggunakan ekspresi apa pun di bagian mana pun dari pernyataan IIf . Anda juga bisa menumpuk IIf ekspresi, yang memungkinkan Anda mengevaluasi serangkaian ekspresi dependen. Untuk melanjutkan dengan contoh sebelumnya, Anda mungkin ingin menguji beberapa nilai berbeda CountryRegion lalu menampilkan bahasa yang sesuai berdasarkan nilai:

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

Some other language Teks adalah falsepart argumen fungsi paling IIf dalam. Karena setiap fungsi yang ditumpuk adalah argumen fungsi IIf yang berisinya, teks Some other language dikembalikan hanya jika semua expr argumen IIf fungsi mengevaluasi ke False.falsepartIIf

Untuk contoh lain, anggaplah Anda bekerja di pustaka. Database pustaka memiliki tabel Check Outs bernama yang berisi bidang bernama Due Date, yang berisi tanggal jatuh tempo buku tertentu. Anda dapat membuat formulir yang memperlihatkan status item yang di-check out dalam kontrol menggunakan fungsi dalam properti kontrol tersebut IIfControl Source :

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

Saat Anda membuka formulir dalam Tampilan Formulir, kontrol akan ditampilkan OVERDUE jika nilai kurang dari Due Date tanggal saat ini, Due today jika sama dengan tanggal saat ini, dan Not Yet Due jika tidak.

Catatan

Untuk menggunakan operator logika seperti And atau Or dalam expr argumen IIf fungsi, Anda harus mengapit ekspresi logika dalam fungsi Eval . Lihat tabel contoh berikut ini.

Menggunakan IIf dalam kueri

Fungsi ini IIf sering digunakan untuk membuat bidang terhitung dalam kueri. Sintaksnya sama, kecuali dalam kueri Anda harus mengawali ekspresi dengan alias bidang dan tanda titik dua (:) bukan tanda sama dengan (=). Untuk menggunakan contoh sebelumnya, ketikkan yang berikut ini di baris Bidang kisi desain kueri:

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

Dalam hal ini, Language: adalah alias bidang.

Untuk informasi selengkapnya tentang membuat kueri dan bidang terhitung, lihat Membuat kueri pemilihan sederhana.

Gunakan IIf dalam kode VBA

Catatan

Contoh berikut ini memperlihatkan cara menggunakan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar menurun di samping Pencarian, lalu masukkan satu atau beberapa istilah dalam kotak pencarian.

Contoh ini menggunakan IIf fungsi untuk mengevaluasi TestMe parameter CheckIt prosedur dan mengembalikan kata Large jika jumlahnya lebih besar dari 1000. Jika tidak, kata akan mengembalikan kata Small.

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

Contoh lainnya

  1. Ekspresi:

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

    Hasil: Jika [AirportCode] adalah "ORD", kembalikan "Chicago". Jika tidak, jika [AirportCode] adalah "ATL", kembalikan "Atlanta". Jika tidak, jika [AirportCode] adalah "SEA", kembalikan "Seattle". Jika tidak, kembalikan "Other".

  2. Ekspresi:

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

    Hasil: Jika [ShipDate] lebih awal dari tanggal hari ini, kembalikan "Shipped". Jika tidak, jika [ShipDate] sama dengan tanggal hari ini, kembalikan "Shipping today". Jika tidak, kembalikan "Unshipped".

  3. Ekspresi:

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

    Hasil: Jika [PurchaseDate] lebih awal dari 1/1/2008, kembalikan "Old". Jika tidak, kembalikan "New".

  4. Ekspresi:

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

    Hasil: Jika [Volts] berada antara 12 dan 15 dan [Amps] berada di antara 0,25 dan 0,3, kembalikan "OK". Jika tidak, kembalikan "Out of calibration".

  5. Ekspresi:

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

    Hasil: Jika [CountryRegion] adalah "Canada", "USA", atau "Mexico", kembalikan "North America". Jika tidak, kembalikan "Other".

  6. Ekspresi:

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

    Hasil: Jika [Average] 90 atau lebih besar, kembalikan "A". Jika tidak, jika [Average] 80 atau lebih besar, kembalikan "B". Jika tidak, jika [Average] 70 atau lebih besar, kembalikan "C". Jika tidak, jika [Average] 60 atau lebih besar, kembalikan "D". Jika tidak, kembalikan "F".

Catatan

Jika Anda menggunakan fungsi untuk IIf membuat bidang terhitung dalam kueri, ganti tanda sama dengan (=) dengan alias bidang dan titik dua (:). Misalnya, Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).