การสั่งไม่ให้พิมพ์ฟิล์ดที่ไม่มีข้อมูล
กระทู้เก่าบอร์ด อ.Yeadram

 877   5
URL.หัวข้อ / URL
การสั่งไม่ให้พิมพ์ฟิล์ดที่ไม่มีข้อมูล

ในการออกแบบ Report ของฐานข้อมูลที่บางฟิลด์อาจมีหรือไม่มีข้อมูลก็ได้
จะทำอย่างไร เวลาสั่งพิมพ์แล้วไม่ให้แสดงผลฟิลด์ที่ไม่มีข้อมูลและ Label ของฟิลด์นั้น เฉพาะ record ที่ไม่มีข้อมูลในฟิลด์นั้น

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

1 @R22766
ในส่วนของข้อมูลถ้าไม่มีข้อมูลก็คงไม่พิมพ์ออกมาอยู่แล้ว ส่วน lable ใช้ condition format ครับ ถ้าเป็นค่าว่าง ก็ให้ใส่สีขาว ไปครับ
2 @R22767
ตามคุณ wee แจ้งค่ะ

ลองใส่ตัวอย่างตามนี้นะคะ
design >> report จิ้มไปที่ท่อนdetail
property >> event >> on paint ใส่ [Event Procedure]


Private Sub Detail_Paint()
    If Not IsNull(Me.product1) Then
        Me.Label_product1.ForeColor = vbRed
        Me.Label_product1.BackColor = vbRed
        Me.Label_product1.FontBold = True
        Me.product1.ForeColor = vbRed
        Me.product1.FontBold = True
    Else
        Me.Label_pro1.ForeColor = vbWhite
    End If
End Sub

3 @R22770
ขอบคุณ คุณ Cheburashka มากครับ
4 @R22776
ยินดีค่ะ

เพิ่งทราบว่า event >> on paint บางคำสั่งไม่แสดงผลด้วย เช่น
Me.Label_product1.BackColor = vbRed   
5 @R22777
เสริมนิดนะครับ

ถ้าไม่ต้องการแสดงฟิลด์ที่ไม่มีข้อมูล ในกรณีหากเป็น Textbox อย่างเดียวให้กำหนด Property Format > Can Shrink = Yes ได้เลยครับ

แต่ในกรณีต้องการซ้อน Label ด้วย แนะนำให้ใช้ Visible จะง่ายกว่า และที่ Event > On Format

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    If IsNull(Me.Textbox) Then
        Label.Visible = False
        Textbox.Visible = False
    Else
        Label.Visible = True
        Textbox.Visible = True
    End If
End Sub
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3165s