Di Access, fungsi Nz digunakan untuk menghasilkan nilai nol, nilai dengan panjang string nol (" "), atau nilai lain bila sebuah tipe data Variant bernilai Null. Sebagai contoh, kita bisa menggunakan fungsi Nz untuk mengkonversi nilai Null ke nilai lain, misalnya 0, untuk menghindari terjadinya kesalahan fungsi.
Sintaks penulisan fungsi Nz adalah sebagai berikut:
Keterangan:
Variant (variant), wajib diisi berupa data dengan tipe Variant, bisa sembarang nilai Variant atau formula yang menghasilkan nilai dengan tipe data Variant.
Valueifnull (nilai jika null), opsional (kecuali dalam sebuah query). Valueifnull berisi data jika Variant bernilai Null. Valueifnull memungkinkan kita menghasilkan nilai selain nol atau string dengan panjang nol.
Jika menggunakan fungsi Nz dalam sebuah field di sebuah query tanpa menyertakan valueifnull, maka field ini akan bernilai string dengan panjang nol.
Jika variant bernilai Null, fungsi Nz menghasilkan angka nol atau string dengan panjang nol, tergantung pada apakah konteksnya menunjukkan nilai itu berupa angka atau string. Jika valueifnull dimasukkan, fungsi Nz menghasilkan nilai yang ditentukan oleh valueifnull jika variant bernilai Null. Bila digunakan di dalam query, fungsi Nz harus selalu menyertakan valueifnull.
Jika, misalnya, nilai variant X bukan Null, maka fungsi Nz menghasilkan nilai X itu sendiri.
Fungsi Nz berguna untuk variant yang mungkin menghasilkan nilai Null. Jadi, misalkan ada formula yang didalamnya mungkin bernilai Null, maka menggunakan fungsi Nz akan membantu menyelesaikan masalah Null. Contohnya seperti ini:
2 + varX
akan bernilai Null jika varX sama dengan Null. Padahal, kita ingin supaya 2 + varX, dengan asumsi bila varX bernilai Null maka varX bernilai 0, akan sama dengan 2. Jadi, dengan menggunakan fungsi Nz, kita bisa mengarahkan penambahan 2 + varX menjadi 2, dengan persamaan seperti ini:
2 + Nz(varX)
Nz(varX) berarti jika varX bernilai Null, maka Nz(varX) bernilai 0, sehingga
2 + Nz(varX) = 2 + 0 = 2
Pada contoh berikut ini, kita menggunakan fungsi Nz sebagai cara lain untuk meringkas fungsi IIf. Dua pernyataan di bawah ini melibatkan fungsi IIf. Pernyataan pertama digunakan untuk memeriksa bila ada nilai Null dan mengkonversinya menjadi 0.
varResult = IIf(Nz(varFreight) > 50, "High", "Low")
Berikut ini adalah contoh fungsi Nz di VBA Access di atas:
Contoh berikut ini, kita menghilangkan fungsi IIf dengan menyertakan nilai valueifnull dalam fungsi Nz pada pernyataan
varResult = IIf(IsNull(varFreight),"Gratis Ongkos Angkut", varFreight)
menjadi:
varResult = Nz(varFreight, "Gratis Ongkos Angkut")
Berikut ini adalah contoh fungsi Nz di VBA Access di atas:
Fungsi Nz pada sebuah design view quer |
Nz (Variant [, Valueifnull ] )
Keterangan:
Variant (variant), wajib diisi berupa data dengan tipe Variant, bisa sembarang nilai Variant atau formula yang menghasilkan nilai dengan tipe data Variant.
Valueifnull (nilai jika null), opsional (kecuali dalam sebuah query). Valueifnull berisi data jika Variant bernilai Null. Valueifnull memungkinkan kita menghasilkan nilai selain nol atau string dengan panjang nol.
Jika menggunakan fungsi Nz dalam sebuah field di sebuah query tanpa menyertakan valueifnull, maka field ini akan bernilai string dengan panjang nol.
Jika variant bernilai Null, fungsi Nz menghasilkan angka nol atau string dengan panjang nol, tergantung pada apakah konteksnya menunjukkan nilai itu berupa angka atau string. Jika valueifnull dimasukkan, fungsi Nz menghasilkan nilai yang ditentukan oleh valueifnull jika variant bernilai Null. Bila digunakan di dalam query, fungsi Nz harus selalu menyertakan valueifnull.
Jika, misalnya, nilai variant X bukan Null, maka fungsi Nz menghasilkan nilai X itu sendiri.
Fungsi Nz berguna untuk variant yang mungkin menghasilkan nilai Null. Jadi, misalkan ada formula yang didalamnya mungkin bernilai Null, maka menggunakan fungsi Nz akan membantu menyelesaikan masalah Null. Contohnya seperti ini:
2 + varX
akan bernilai Null jika varX sama dengan Null. Padahal, kita ingin supaya 2 + varX, dengan asumsi bila varX bernilai Null maka varX bernilai 0, akan sama dengan 2. Jadi, dengan menggunakan fungsi Nz, kita bisa mengarahkan penambahan 2 + varX menjadi 2, dengan persamaan seperti ini:
2 + Nz(varX)
Nz(varX) berarti jika varX bernilai Null, maka Nz(varX) bernilai 0, sehingga
2 + Nz(varX) = 2 + 0 = 2
Pada contoh berikut ini, kita menggunakan fungsi Nz sebagai cara lain untuk meringkas fungsi IIf. Dua pernyataan di bawah ini melibatkan fungsi IIf. Pernyataan pertama digunakan untuk memeriksa bila ada nilai Null dan mengkonversinya menjadi 0.
- varTemp = IIf(IsNull(varFreight), 0, varFreight)
- varResult = IIf(varTemp > 50, "High", "Low")
varResult = IIf(Nz(varFreight) > 50, "High", "Low")
Berikut ini adalah contoh fungsi Nz di VBA Access di atas:
Function contohNz(Optional varFreight = Null) Dim varTemp, varResult As Variant varTemp = IIf(IsNull(varFreight), 0, varFreight) varResult = IIf(varTemp > 50, "High", "Low") Debug.Print "Sebelum diringkas, nilai varResult adalah: " & varResult varResult = IIf(Nz(varFreight) > 50, "High", "Low") Debug.Print "Setelah diringkas, nilai varResult adalah: " & varResult End FunctionBila dieksekusi di Immediate Window:
?contohNz1 Sebelum diringkas, nilai varResult adalah: Low Setelah diringkas, nilai varResult adalah: Low ?contohNz1(Null) Sebelum diringkas, nilai varResult adalah: Low Setelah diringkas, nilai varResult adalah: Low ?contohNz1(60) Sebelum diringkas, nilai varResult adalah: High Setelah diringkas, nilai varResult adalah: HighPerhatikan bahwa cara IIf dengan Nz memberikan hasil yang sama
Contoh berikut ini, kita menghilangkan fungsi IIf dengan menyertakan nilai valueifnull dalam fungsi Nz pada pernyataan
varResult = IIf(IsNull(varFreight),"Gratis Ongkos Angkut", varFreight)
menjadi:
varResult = Nz(varFreight, "Gratis Ongkos Angkut")
Berikut ini adalah contoh fungsi Nz di VBA Access di atas:
Function contohNz2(Optional varFreight = Null) Dim varTemp, varResult As Variant varResult = IIf(IsNull(varFreight), "Gratis Ongkos Angkut", varFreight) Debug.Print "Menggunakan IIf, nilai varResult adalah: " & varResult varResult = Nz(varFreight, "Gratis Ongkos Angkut") Debug.Print "Setelah diringkas menggunakan Nz, nilai varResult adalah: " & varResult End FunctionBila dieksekusi di Immediate Window:
?contohNz2 Sebelum diringkas, nilai varResult adalah: Gratis Ongkos Angkut Setelah diringkas, nilai varResult adalah: Gratis Ongkos Angkut ?contohNz2(Null) Sebelum diringkas, nilai varResult adalah: Gratis Ongkos Angkut Setelah diringkas, nilai varResult adalah: Gratis Ongkos Angkut ?contohNz2(60) Sebelum diringkas, nilai varResult adalah: 60 Setelah diringkas, nilai varResult adalah: 60Satu hal yang membedakan penggunaan Nz dengan IIf adalah bahwa Nz terlihat lebih sederhana dan mudah untuk dituliskan. Pada fungsi contohNz1 dan contohNz2, kita bisa melihat perbedaan itu.
Comments
Post a Comment