Anda bisa menggunakan fungsi Nz untuk mengembalikan nol, ( string kosong " " ), atau lain nilai yang ditentukan bila suatu Varian adalah Null. Misalnya, Anda bisa menggunakan fungsi ini untuk mengonversi nilai Null ke nilai lain dan mencegahnya terpropagasi melalui ekspresi.
Sintaks
Nz ( variant [, valueifnull ] )
Sintaks fungsi Nz memiliki argumen ini:
Argumen |
Deskripsi |
varian |
Diperlukan. Variabel tipe data Varian. |
valueifnull |
Opsional (kecuali digunakan dalam kueri). Varian yang memasukkan nilai akan muncul jika argumen varian Kosong. Argumen ini memungkinkan Anda menampilkan nilai selain nol atau string panjang-nol. Catatan: Jika Anda menggunakan fungsi Nz pada ekspresi dalam kueri tanpa menggunakan argumen valueifnull, hasilnya akan berupa string panjang-nol di bidang yang memuat nilai null. |
Jika nilai argumen varian adalah Null, fungsi Nz mengembalikan angka nol atau string yanga panjangnya nol (selalu mengembalikan string yang panjangnya nol bila digunakan dalam ekspresi kueri), bergantung pada apakah konteksnya mengindikasikan nilainya harus berupa angka atau string. Jika argumen valueifnull opsional disertakan, maka fungsi Nz akan mengembalikan nilai yang ditentukan oleh argumen tersebut jika argumen varian adalah Null. Bila digunakan dalam ekspresi kueri, fungsi NZ harus selalu menyertakan argumen valueifnull,
Jika nilai varian bukan Null, maka fungsi Nz mengembalikan nilai varian.
Keterangan
Fungsi Nz berguna untuk ekspresi yang mungkin menyertakan nilai Null. Untuk memaksa ekspresi mengevaluasi ke suatu nilai non-Null meski nilai itu mengandung nilai Null, gunakan fungsi Nz untuk mengembalikan strng yang panjangnya nol, atau nilai yang dikembalikan kustom.
Sebagai contoh, ekspresi 2 + varX akan selalu mengembalikan nilai Null bila nilai Varian varX adalah Null. Namun, 2 + Nz(varX) mengembalikan 2.
Anda bisa sering menggunakan fungsi Nz sebagai alternatif fungsi IIf. Misalnya, dalam kode berikut, dua ekspresi menyertakan fungsi IIf yang diperlukan untuk mengembalikan hasil yang diharapkan. Ekspresi pertama yang menyertakan fungsi IIf digunakan untuk memeriksa nilai suatu variabel dan mengonversinya menjadi nol jika nilai itu adalah Null.
varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")
Dalam contoh berikutnya, fungsi Nz menyediakan fungsionalitas yang sama seperti ekspresi pertama, dan hasil yang diinginkan dicapai dalam satu langkah, bukan dua.
varResult = IIf(Nz(varFreight) > 50, "High", "Low")
Jika Anda memasukkan nilai untuk argumen opsional valueifnull, nilai tersebut akan dikembalikan bila varian adalah Null. Dengan menyertakan argumen opsional ini, Anda mungkin dapat menghindari menggunakan ekspresi yang mengandung fungsi IIf fungsi IIf. Sebagai contoh, ekspresi berikut ini menggunakan fungsi IIf untuk mengembalikan string jika nilainya varFreight adalah Null.
varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)
Dalam contoh berikutnya, argumen opsional yang disediakan bagi fungsi Nz menyediakan string yang akan dikembalikan jika varFreight adalah Null.
varResult = Nz(varFreight, "No Freight Charge")
Contoh kueri
Ekspresi |
Hasil |
SELECT ProductID, NZ(Discount,"No Detail Available") AS Expr2 FROM ProductSales; |
Mengembalikan "PRODUCTID" dalam kolom Expr1, mengevaluasi nilai 'Null' dalam bidang "Diskon" dan mengembalikan "Tidak Ada Detail Tersedia" untuk semua nilai Null (mengembalikan nilai non-null sebagaimana adanya). |
SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductSales; |
Mengembalikan "PRODUCTID" dalam kolom Produk, mengevaluasi nilai 'Null' dalam bidang "Diskon" dan mengembalikan "Tidak Ada Detail Tersedia" untuk semua nilai Null (mengembalikan nilai non-null sebagaimana adanya) dan ditampilkan dalam kolom ReplaceNull. |
Contoh VBA
Catatan: Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.
Contoh berikut mengevaluasi sebuah kontrol pada formulir dan mengembalikan salah satu dari dua string berdasarkan nilai kontrol tersebut. Jika nilai dari kontrolnya adalah Null, prosedur menggunakan fungsi Nz untuk mengonversi nilai Null menjadi string yang panjangnya nol.
Public Sub CheckValue()
Dim frm As Form Dim ctl As Control Dim varResult As Variant ' Return Form object variable ' pointing to Orders form. Set frm = Forms!Orders ' Return Control object variable ' pointing to ShipRegion. Set ctl = frm!ShipRegion ' Choose result based on value of control. varResult = IIf(Nz(ctl.Value) = vbNullString, _ "No value.", "Value is " & ctl.Value & ".") ' Display result. MsgBox varResult, vbExclamation End Sub