ไม่แสดงผลในหน้ารายงาน
กระทู้เก่าบอร์ด อ.Yeadram

 1,320   5
URL.หัวข้อ / URL
ไม่แสดงผลในหน้ารายงาน

กรณีที่ไม่มีการซื้อสินค้า
แต่ยังมีรายชื่อลูกค้าอยู่
หากเราต้องการให้ข้ามรายการนั้นในหน้ารายงาน
ต้องเขียนในรายงานอย่างไรครับ
ข้อมูล
เลขที่ 1 นายสมบัติ    ซื้อ 10
          2 นายอำนวย        20
          3 นางวาสนา        30
          4   นางพังงา
           5   นายเจริญ        40
ในหน้ารายงาน ในส่วนของดีเทล ก็จะมี กล่องรายการ
เลขที่ ชื่อ ซื้อ
ทำอย่างไรให้มีในรายงานแค่
1   นายสมบัติ    10
2   นายอำนวย    20
3    นางวาสนา    30
5    นายเจริญ      40

โดยไม่มีชื่อ นางพังงา ซึ่งไม่มียอดซื้อ พิมพ์ออกมาด้วย
จริงอยู่ ในยอดซื้อจะไม่มีจำนวนอยู่แล้วในหน้ารายงาน
แต่ประสงค์ที่จะให้คนที่ไม่ได้มียอดซื้อ ม่ีชื่อในรายงานนัั้นด้วย
ปรากฎชื่อในหน้ารายงาน

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

1 @R08597
ใน Format event ของ Detail section ให้เขียนโค้ด

Me.Sections("ชื่อ section, ปกติเป็นคำว่า Detail").Visible = (Nz(Me.ชื่อเท็กซ์บ็อกซ์ที่แสดงจำนวนซื้อ,0) <> 0)
2 @R08602
ขอบคุณครับ
ขอไปลองดูก่อน
ว่าได้ผลหรือไม่
3 @R08603
ได้ผลถูกต้องครับ
แต่ของคำแปลหน่อยได้มั้ยครับ
(Nz(Me.ชื่อเท็กซ์บ็อกซ์ที่แสดงจำนวนซื้อ,0) <> 0)
มันตรวจสอบอย่างไร
จะได้ทำความเข้าใจครับ
4 @R08604
Nz(x) ผมเข้าใจว่าน่าจะมาจากคำว่า Null or Zero ฟังก์ชั่นนี้ใช้เพื่อแปลงข้อมูล ถ้า x เป็น Null หรือค่าศูนย์ สำหรับข้อมูลประเภท Numeric หรือถ้าเป็น Null หรือ Zero Length String ("") สำหรับข้อมูลประเภท Text แล้วหล่ะก็ จะให้แปลงออกมาเป็นค่าอะไร (ในที่นี้ผมให้มันเป็นศูนย์)

สมัยก่อนไม่มีฟังก์ชั่นนี้ ก็ต้องเขียนเอาเองซึ่งน่ารำคาญไปหน่อย เพราะต้องใช้กันหลายๆที่ในโปรแกรมที่มีข้อมูลที่เป็น Null ได้ เช่น

if isnull(x) then
   y = 0
elseif x = 0 then
   y = 0
end if

ที่นี้ (Nz(x,0) <> 0) ก็อ่านได้ว่า ถ้า x มีค่าใดๆที่ไม่เป็น Null หรือศูนย์ นิพจน์นี้จะให้ผลการเปรียบเทียบออกมาเป็น True หรือถ้าไม่ ก็ให้ผลเป็น False

ดังนั้น Me.Sections("Detail").Visible = (Nz(x,0) <> 0) ก็อ่านได้ว่า "ส่วนของ Detail จะปรากฏให้เห็นเมื่อ x มีค่า" นั่นเอง
5 @R08619
ขอบคุณจริง ๆ ครับ
ที่ไม่หวงความรู้
ให้คำแนะนำที่ดีและมีประโยชน์ทุกครั้ง
เพราะผมอยากจะเข้าใจมากกว่าที่จะจำครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3364s