กระทู้เก่าบอร์ด อ.Yeadram
1,140 2
URL.หัวข้อ /
URL
ขอสอบถามวิธีทำ control line
Function PrintLines(R As Report, TotGrp)
Dim CtrX As Control
TotCount = TotCount + 1
If TotCount = TotGrp Then
R.NextRecord = False
ElseIf TotCount > TotGrp And TotCount < 50 Then
R.NextRecord = False
For Each CtrX In R
If TypeOf CtrX Is TextBox Or TypeOf CtrX Is CheckBox Or TypeOf CtrX Is Label Then
CtrX.Visible = False
End If
Next
ElseIf TotCount > TotGrp And TotCount = 50 Then
For Each CtrX In R
If TypeOf CtrX Is TextBox Or TypeOf CtrX Is CheckBox Or TypeOf CtrX Is Label Then
CtrX.Visible = False
End If
Next
End If
End Function
และใน Report ให้ใส่โค๊ดต่างๆใน Event ต่างๆ ดังนี้
- ส่วน Declarations Section
'------------------------------------
Private Last_Page As Long
'------------------------------------
- ส่วน Event ต่างๆ บนรายงาน
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
If Me.TotRec Mod 50 <> 0 Then
If Me.Page = Last_Page Then
Call PrintLines([Report], Me.TotRec Mod 50)
Else
Call PrintLines([Report], Me.TotRec)
End If
End If
End Sub
Private Sub PageFooterSection_Print(Cancel As Integer, PrintCount As Integer)
Call SetCount([Report])
End Sub
Private Sub PageHeaderSection_Print(Cancel As Integer, PrintCount As Integer)
Call SetCount([Report])
If Me.Page = Last_Page + (-Int(-([TotRec] / 50))) Then
Last_Page = Last_Page + (-Int(-([TotRec] / 50)))
End If
End Sub
คำสั่งพวกนี้ต้องใส่ตรงไหนหรือครับ ช่วยอธิบายหน่อยครับ
Dim CtrX As Control
TotCount = TotCount + 1
If TotCount = TotGrp Then
R.NextRecord = False
ElseIf TotCount > TotGrp And TotCount < 50 Then
R.NextRecord = False
For Each CtrX In R
If TypeOf CtrX Is TextBox Or TypeOf CtrX Is CheckBox Or TypeOf CtrX Is Label Then
CtrX.Visible = False
End If
Next
ElseIf TotCount > TotGrp And TotCount = 50 Then
For Each CtrX In R
If TypeOf CtrX Is TextBox Or TypeOf CtrX Is CheckBox Or TypeOf CtrX Is Label Then
CtrX.Visible = False
End If
Next
End If
End Function
และใน Report ให้ใส่โค๊ดต่างๆใน Event ต่างๆ ดังนี้
- ส่วน Declarations Section
'------------------------------------
Private Last_Page As Long
'------------------------------------
- ส่วน Event ต่างๆ บนรายงาน
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
If Me.TotRec Mod 50 <> 0 Then
If Me.Page = Last_Page Then
Call PrintLines([Report], Me.TotRec Mod 50)
Else
Call PrintLines([Report], Me.TotRec)
End If
End If
End Sub
Private Sub PageFooterSection_Print(Cancel As Integer, PrintCount As Integer)
Call SetCount([Report])
End Sub
Private Sub PageHeaderSection_Print(Cancel As Integer, PrintCount As Integer)
Call SetCount([Report])
If Me.Page = Last_Page + (-Int(-([TotRec] / 50))) Then
Last_Page = Last_Page + (-Int(-([TotRec] / 50)))
End If
End Sub
คำสั่งพวกนี้ต้องใส่ตรงไหนหรือครับ ช่วยอธิบายหน่อยครับ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R19813
สือเนื่องมาจากกระทู้นี้ครับhttp://www.thai-access.com/yeadram_view.php?topic_id=3065&page=1
2 @R19814
สำหรับ Access 2010 ใน Report Design View ในริบบ้อน Report Design Tools - Design คลิก View Code เพื่อเข้าสู่ VBA Editor แล้วก๊อปปี้ Private Last_Page As Long ลงไปก่อน แล้วค่อยตามด้วยโค้ดทั้งหมดที่เหลือ
หรือใน Access เวอร์ชั่นอะไรก็ตาม กดคีย์ F11 เพื่อเข้าสู่ VBA Editor เช่นกัน แล้วกด Ctrl-R เพื่อเปิด Project Explorer ดับเบิลคลิกเลือกรายงานที่เราต้องการใส่โค้ด ด้านขวาจะแสดงพื้นที่สำหรับใส่โค้ดขึ้นมาให้ แล้วก็ก็อปปี้โค้ดตามที่บอกไปครับ
หรือใน Access เวอร์ชั่นอะไรก็ตาม กดคีย์ F11 เพื่อเข้าสู่ VBA Editor เช่นกัน แล้วกด Ctrl-R เพื่อเปิด Project Explorer ดับเบิลคลิกเลือกรายงานที่เราต้องการใส่โค้ด ด้านขวาจะแสดงพื้นที่สำหรับใส่โค้ดขึ้นมาให้ แล้วก็ก็อปปี้โค้ดตามที่บอกไปครับ
Time: 0.3810s