ช่วยอธิบายฟังก์ชั่น Nz หน่อยครับ
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 305   5
URL.หัวข้อ / URL
ช่วยอธิบายฟังก์ชั่น Nz หน่อยครับ



ตัวอย่าง
If Nz(DCount("payedlist_id", "payedlist_st"), 0) = 0 Then

0 ตัวแรกหมายถึงอะไรครับ
=0 คือเปรียบเทียบกับอะไรครับ

5 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R02803
ใช่ Nz คืออะไร ผมก้อไม่ทราบเหมือนกัน
2 @R02804
Nz() เป็นฟังก์ชันที่แปลงค่า Null ให้เป็น 0 หรือ "" แล้วแต่ว่าค่าที่เรากำลังทำงานด้วย

จะมีประโยชน์ในการป้องกันการ Error ของโค้ดเรา

0 ตัวแรกหมายถึง ถ้า DCount("payedlist_id", "payedlist_st") ได้ค่าเป็น Null คือไม่มีข้อมูลใดๆ ในตาราง payedlist_st จะแปลงค่า Null ให้เป็น 0

=0 คือเปรียบเทียบกับ ค่าที่ได้จาก Nz(DCount("payedlist_id", "payedlist_st"), 0)

ซึ่งมีข้อมูลอย่างน้อย 1 รายการ จะได้

If 1 = 0 Then

จึงไม่จริง

ผมอาจจะอธิบายไม่ชัดเจนเท่าไรนัก

ความจริง DCount() จะให้ค่าคืนเป็น 0 ถ้าไม่มีข้อมูลอะไรเลย จึงไม่จำเป็นจะต้องใช้ Nz() มาช่วยตรงนี้ก็ได้ครับ

ตัวที่จะต้องใช้คือ DLookup() ซึ่งจะต้องใช้ Nz() มาช่วย ตัวอย่างเช่น

ถ้าฟีลด์เป้าหมายเป็น Text จะใช้อย่างนี้ครับ

If Nz(DLookup("MyName", "Table1","MyName='สุภาพ'"), "") = "" Then

ถ้าฟีลด์เป้าหมายเป็น Number จะใช้อย่างนี้ครับ

If Nz(DLookup("MyID", "Table1","MyName='สุภาพ'"), 0) = 0 Then
3 @R02811
Cool
เจ๋ง
4 @R02818
ขอบคุณครับกระจ่างแล้ว
5 @R02827
แบบนี้ชัดเจนที่สุดแล้วครับ อาจารย์
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1374s