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 adalah benar atau salah. Jika ekspresinya true, IIf mengembalikan satu nilai. Jika salah, IIf mengembalikan nilai lain. Anda menentukan nilai yang IIf dikembalikan.

Lihat beberapa contoh

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

  1. 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".

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