Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
Access
Conversion Function
ดาวน์โหลดคู่มือ

Nz Function

Access Function, ส่งออกค่าเป็นศูนย์ (0), zero-length string (“”), หรือค่าที่ระบุอื่น เมื่อประเภทข้อมูล Variant มีค่าเป็น Null เช่น ใช้ฟังก์ชันนี้แปลงค่า Null ให้เป็นค่าอื่นที่ไม่กระทบกับการทำงานของ expression

ไวยากรณ์

Nz(variant [,valueifnull] )

อากิวเมนต์ของฟังก์ชัน Nz มีความหมาย คือ

ส่วน รายละเอียด
variant บังคับ, ตัวแปรที่เป็นประเภทข้อมูล Variant
valueifnull ไม่บังคับ, (แต่บังคับในคิวรี่) เป็นประเภทข้อมูล Variant ที่ส่งออกค่าเมื่ออากิวเมนต์ variant เป็นค่าว่าง อากิวเมนต์นี้สามารถให้มีการส่งออกค่าได้นอกจาก 0 หรือ zero-length string ถ้าใช้ฟังก์ชัน Nz ใช้เป็น expression ในคิวรี่โดยไม่ใช้อากิวเมนต์ valueifnull ผลลัพธ์จะเป็นฟิลด์ว่างที่เก็บค่าเป็น Null

ถ้าค่าของอากิวเมนต์ variant เป็น Null ฟังก์ชัน Nz ส่งค่าเป็นเลขศูนย์ (0) หรือ zero-length string ขึ้นกับการใช้ค่าที่ส่งออกใน expression ถ้าใช้อากิวเมนต์ valueifnull การส่งออกค่าของฟังก์ชัน Nz จะออกตามการระบุเมื่ออากิวเมนต์ variant เป็นค่าว่าง

ลักษณะการประยุกต์

ฟังก์ชัน Nz ใช้ประโยชน์ในการส่งค่าให้ expression ที่ประมวลผลได้เฉพาะค่าที่ไม่ใช้ค่าว่าง ตัวอย่างเช่น ใน expression 2 + VarX จะมีค่าเป็นค่าว่างเสมอ ถ้า VarX เป็นค่าว่าง แต่ถ้าเป็น 2 + Nz(VarX) จะส่งค่าเป็น 2

ฟังก์ชัน Nz สามารถเป็นทางเลือกของฟังก์ชัน IIf ในกรณีการใช้ฟังก์ชัน IIf ในตรวจสอบค่า Null เช่น

varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")

ถ้าใช้ฟังก์ชัน Nz สามารถกำหนดเป็น expression นี้

varResult = IIf(Nz(varTemp) > 50, "High", "Low")

ถ้ามีการใช้อากิวเมนต์ valueifnull ในการะบุค่าที่ส่งออกเมื่ออากิวเมนต์ variant เป็นค่าว่างได้ ตามตัวอย่างโดยเปรียบเทียบกับฟังก์ชัน IIf ได้ดังนี้

กรณีฟังก์ชัน IIf varResult = IIf(IsNull(varFreight), “No Freight Charge”, varFreight)

กรณีฟังก์ชัน Nz varResult = IIf(varFreight), “No Freight Charge”)

ดูเพิ่มเติม

ตัวดำเนินการ (Operator) Is, ฟังก์ชัน IsEmpty, ฟังก์ชัน IsNull

ตัวอย่าง

ตัวอย่างการใช้ฟังก์ชัน Nz ในการส่งค่าที่เป็น Null โดยการแปลงเป็น zero-length string

Sub CheckValue()

Dim frm As Form, ctl As Control
Dim varResult As Variant

   ' กำหนดตัวแปรอ็อบเจคฟอร์ม โดยชี้ไปที่ Orders form.
   Set frm = Forms!Orders
   ' กำหนดตัวแปรตัว Control โดยชี้ไปที่ ShipRegion.
   Set ctl = frm!ShipRegion
   ' เลือกผลลัพธ์ที่ขึ้นกับค่าของตัว Control
   varResult = IIf(Nz(ctl.Value) = "", "No value", "Value is " & ctl.Value)

   ' แสดงผลลัพธ์
   MsgBox varResult

End Sub