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.
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
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".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]berada antara 12 dan 15 dan[Amps]berada di 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 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")).