กระทู้เก่าบอร์ด อ.Yeadram
971 5
URL.หัวข้อ /
URL
การสั่งไม่ให้พิมพ์ฟิล์ดที่ไม่มีข้อมูล
ในการออกแบบ Report ของฐานข้อมูลที่บางฟิลด์อาจมีหรือไม่มีข้อมูลก็ได้
จะทำอย่างไร เวลาสั่งพิมพ์แล้วไม่ให้แสดงผลฟิลด์ที่ไม่มีข้อมูลและ Label ของฟิลด์นั้น เฉพาะ record ที่ไม่มีข้อมูลในฟิลด์นั้น
จะทำอย่างไร เวลาสั่งพิมพ์แล้วไม่ให้แสดงผลฟิลด์ที่ไม่มีข้อมูลและ 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
ลองใส่ตัวอย่างตามนี้นะคะ
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
เพิ่งทราบว่า 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
ถ้าไม่ต้องการแสดงฟิลด์ที่ไม่มีข้อมูล ในกรณีหากเป็น 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
Time: 0.3409s