กระทู้เก่าบอร์ด อ.Yeadram
1,449 4
URL.หัวข้อ /
URL
พิมพ์รายงานออกได้หลายชึด
รายงานอันเดียวแต่พิมพ์ออกมาได้ 2-3 ชุด โดยแตกต่างกันแค่หัวกระดาษ เช่น สำเนาสำหรับสโตร์ หรือ สำเนาสำหรับลูกค้าเป็นต้น
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R19989
ส่วนที่แตกต่างกัน แทนที่จะเป็น Label ที่มีคำพูดที่ตายตัว ก็ทำเป็น Textbox แทน (สมมุติชื่อ Text1) ตอนสั่งพิมพ์ ก็ส่งค่าไปบอกตัวรายงานว่านี่เป็นการพิมพ์ชุดไหน แล้วโค้ดในตัวรายงาน ก็จะเป็นตัวใส่คำพูดที่ถูกต้องเข้าไปแทน เช่น โค้ดเพื่อสั่งพิมพ์คือ
DoCmd.OpenReport "Report1",,,,,"1" ' พิมพ์ชุดแรก
DoCmd.OpenReport "Report1",,,,,"2" ' พิมพ์ชุดที่สอง
DoCmd.OpenReport "Report1",,,,,"3" ' พิมพ์ชุดที่สาม
ส่วนใน section ของรายงาน ในส่วนที่พิมพ์คำพูดนั้น ให้เขียนโค้ดลงใน OnFormat ของ section นั้น เช่น ถ้าพิมพ์ใน PageHeader section โค้ดก็จะเป็น
Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
Select Case Me.OpenArgs
Case "1"
Me.Text1 = "ต้นฉบับ"
Case "2"
Me.Text1 = "สำหรับสโตร์"
Case "3"
Me.Text1 = "สำหรับลูกค้า"
End Select
End Sub
DoCmd.OpenReport "Report1",,,,,"1" ' พิมพ์ชุดแรก
DoCmd.OpenReport "Report1",,,,,"2" ' พิมพ์ชุดที่สอง
DoCmd.OpenReport "Report1",,,,,"3" ' พิมพ์ชุดที่สาม
ส่วนใน section ของรายงาน ในส่วนที่พิมพ์คำพูดนั้น ให้เขียนโค้ดลงใน OnFormat ของ section นั้น เช่น ถ้าพิมพ์ใน PageHeader section โค้ดก็จะเป็น
Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
Select Case Me.OpenArgs
Case "1"
Me.Text1 = "ต้นฉบับ"
Case "2"
Me.Text1 = "สำหรับสโตร์"
Case "3"
Me.Text1 = "สำหรับลูกค้า"
End Select
End Sub
3 @R20311
ขอโทษนะคะ อยากทราบว่า ถ้าเรา จะใส่ macro ให้พิมพ์ report 2 ตัว ต้องทำอย่างไรคะ
4 @R20317
เลือก OpenReport ใน Action ของ macro แล้วก็ใส่ชื่อตัวรายงานในช่อง Report Name ครับ อยากพิมพ์ 2 รายงานก็ใส่คำสั่ง 2 บรรทัดได้ครับ
Time: 0.3691s
ก็น่าจะโอเคและครับ