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 adalah benar atau salah. Jika ekspresinya true, IIf mengembalikan satu nilai. Jika salah, IIf mengembalikan nilai lain. Anda menentukan nilai yang IIf dikembalikan.
Sintaks
IIf(expr, truepart, falsepart)
Sintaks IIf fungsi memiliki argumen berikut:
| 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 satunya. Karena perilaku ini, perhatikan efek samping yang tidak diinginkan. Misalnya, jika evaluasi falsepart menghasilkan kesalahan pembagian berdasarkan nol, terjadi kesalahan meskipun expr .True
Contoh
Gunakan IIf pada formulir atau laporan
Misalkan Anda memiliki Customers tabel yang berisi bidang bernama CountryRegion. Dalam formulir, Anda ingin menunjukkan apakah bahasa Italia adalah bahasa pertama kontak. Anda dapat menambahkan kontrol dan menggunakannya IIf di propertinya Control Source :
=IIf([CountryRegion]="Italy", "Italian", "Some other language")
Saat Anda membuka formulir dalam Tampilan Formulir, kontrol ditampilkan Italian setiap kali nilai untuk CountryRegion adalah Italy. Ini ditampilkan Some other language kapan pun CountryRegion memiliki nilai lain.
Gunakan IIf dalam ekspresi kompleks
Anda dapat menggunakan ekspresi apa pun di bagian mana pun dari sebuah pernyataan IIf . Anda juga dapat menumpuk IIf ekspresi, yang memungkinkan Anda mengevaluasi serangkaian ekspresi dependen. Untuk melanjutkan contoh sebelumnya, Anda mungkin ingin menguji beberapa nilai yang berbeda CountryRegion lalu menampilkan bahasa yang sesuai berdasarkan nilai tersebut:
=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))
Teks Some other language adalah falsepart argumen dari fungsi terdalam IIf . Karena setiap fungsi bertumpuk IIf adalah falsepart argumen dari IIf fungsi yang mengandungnya, teks Some other language hanya dikembalikan jika semua argumen expr fungsi dievaluasi ke .FalseIIf
Sebagai contoh lain, misalkan Anda bekerja di sebuah perpustakaan. Database pustaka memiliki tabel bernama Check Outs yang berisi bidang bernama Due Date, yang berisi tanggal jatuh tempo buku tertentu. Anda dapat membuat formulir yang memperlihatkan status item yang diperiksa dalam kontrol menggunakan IIf fungsi dalam properti kontrol Control Source tersebut:
=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))
Saat Anda membuka formulir dalam Tampilan Formulir, kontrol menampilkan OVERDUE jika nilai kurang Due Date dari tanggal saat ini, Due today jika sama dengan tanggal saat ini, dan Not Yet Due lainnya.
Catatan
Untuk menggunakan operator logika seperti And atau Or dalam expr argumen IIf fungsi, Anda harus melampirkan ekspresi logika dalam fungsi Eval . Lihat tabel contoh berikut ini.
Gunakan IIf dalam kueri
Fungsi ini IIf sering digunakan untuk membuat bidang terhitung dalam kueri. Sintaksnya sama, kecuali bahwa dalam kueri Anda harus mengawali ekspresi dengan alias bidang dan titik dua (:), bukan tanda sama dengan (=). Untuk menggunakan contoh sebelumnya, ketik hal berikut 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 pilihan sederhana.
Gunakan IIf dalam kode VBA
Catatan
Contoh berikut menunjukkan 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, akan mengembalikan kata Small.
Function CheckIt(TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
Contoh lainnya
Ekspresi:
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))Hasil: Jika
[AirportCode],"ORD"kembalikan"Chicago". Jika tidak, jika[AirportCode],"ATL"kembalikan"Atlanta". Jika tidak, jika[AirportCode],"SEA"kembalikan"Seattle". Jika tidak, kembalikan"Other".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".Ekspresi:
=IIf([PurchaseDate]<#1/1/2008#,"Old","New")Hasil: Jika
[PurchaseDate]lebih awal dari1/1/2008, kembalikan"Old". Jika tidak, kembalikan"New".Ekspresi:
=IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration")Hasil: Jika
[Volts]antara 12 dan 15 dan[Amps]antara 0,25 dan 0,3, kembalikan"OK". Jika tidak, kembalikan"Out of calibration".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".Ekspresi:
=IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))Hasil: Jika
[Average]90 atau lebih tinggi, kembalikan"A". Jika tidak, jika[Average]80 atau lebih tinggi, kembalikan"B". Jika tidak, jika[Average]70 atau lebih tinggi, kembalikan"C". Jika tidak, jika[Average]60 atau lebih tinggi, 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")).