สร้างบิลที่มีรายการสินค้ามาก จึงพิมพ์บิลใบที่1 2 3...



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

07 ก.ย. 62 , 16:23:12
อ่าน 942 ครั้ง

kunlek

สร้างบิลกำกับส่ินค้า มีรายการสินค้าแต่ละบิลมาก เมื่อสั่งพิมพ์แต่ละ IV จะออกมามากกว่า 1 ใบ  ปัญหาใบที่ 1 คือรายการจำนวนรวมของบิล  ตารางท้ายบิล หายไปหมด ไปอยู่หน้าสุดท้าย
ปัญาใบที่ 2 คือ หัวบิลหาย เริ่มพิมพ์ตั้งแต่ page header
เรียนถามวิธีสร้างบิล ให้หน้าที่ 1 และหน้าที่ 2 ข้อความและตารางฟอร์มอยู่ครบ แตกต่างเพียง ข้อมูลสินค้าที่ขายครับ



 

07 ก.ย. 62 , 18:33:45
ตอบกลับ #1

สันติสุข

- Report Header/Footer section จะพิมพ์ครั้งเดียวเป็นเหมือนใบแปะหน้าแรกและหน้าสุดท้ายของรายงาน
- Page Header/Footer section จะพิมพ์ทุกๆหน้า ยกเว้นเรากำหนด Property หรือเขียนโค้ดควบคุมเพื่อซ่อนไว้ ไม่ให้พิมพ์
- Group Header/Footer section จะพิมพ์เมื่อข้อมูลที่ใช้ในการกำหนดกลุ่ม เปลี่ยนแปลงไป พิมพ์เมื่อเริ่มต้นกลุ่มใหม่และสิ้นสุดกลุ่มเดิม ยกเว้นเรากำหนด Property หรือเขียนโค้ดควบคุมเพื่อซ่อนไว้ ไม่ให้พิมพ์

ดังนั้นหัวกระดาษจึงไม่ควรอยู่ที่ Report section แต่ควรอยู่ที่ Page section มากกว่าครับ แต่ถ้าเกิดว่า 1 IV มีรายการเกิน 1 หน้า และอยากให้มีหัวกระดาษเฉพาะใบแรกของแต่ละ IV ก็เปลี่ยนจากที่ไว้ใน Page section มาเป็น Group section ที่รวมกลุ่มตามเลข IV และกำหนด Force New Page property เป็น Before Section แทนก็ได้ครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

07 ก.ย. 62 , 20:26:39
ตอบกลับ #2

kunlek

ในกรณีนี้ ผมจึงต้องให้ หัวบิล รายละเอียดเลขอินวอยซ์ ทุกอย่างอยู่ใน page header/footer  ส่วนของreport header/footer ไม่ต้องใช้ เพื่อดูเหมือนใช้ print form ใช่ไหมครับ 

 

07 ก.ย. 62 , 20:29:40
ตอบกลับ #3

สันติสุข

ควรเป็นอย่างนั้นครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

08 ก.ย. 62 , 09:41:35
ตอบกลับ #4

kunlek

ที่ทำมาผิดหมด แก้ไขเสร็จแล้ว แต่สังเกตว่าบิลใบที่1 ใบที่2 จำนวนเงินมียอดและรายการเท่ากัน  อจ.มี codeที่ไม่ให้บิลใบที่ 1แสดงหรือไม่ครับ กรณีบิลมีมากกว่า 1 หน้า

 

08 ก.ย. 62 , 16:10:37
ตอบกลับ #5

สันติสุข

ไม่เข้าใจครับ บิลใบที่ 1 และ 2 เหมือนกัน ?  หมายถึงบิลเลขเดียวกัน แต่มีจำนวนเกิน 1 หน้า แล้วจะให้แสดง Page Footer เฉพาะหน้าสุดท้าย หรือว่ายังไง ?
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

08 ก.ย. 62 , 16:13:24
ตอบกลับ #6

kunlek

ครับ ให้แสดงเฉพาะ page footer หน้าสุดท้าย

 

08 ก.ย. 62 , 16:34:04
ตอบกลับ #7

สันติสุข

1. ให้สร้าง Group ในรายงานโดยกลุ่มตามหมายเลข IV  ให้มีแต่ Group Footer section สมมุติชื่อ GroupFooter1  ไม่ต้องมี Group Header   ให้ความสูงเป็น 0 ก็ได้   กำหนดให้ Force New Page property เป็น After Section   ตัว Group section จะครอบ Detail section เอาไว้โดยอัตโนมัติ

2. ใส่โค้ดต่อไปนี้ลงไป
โค๊ด: [Select]
Option Compare Database
Option Explicit

Dim ShowPageFooter As Boolean

Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
    ShowPageFooter = False
    Me.Section("PageFooterSection").Visible = True
End Sub

Private Sub GroupFooter1_Format(Cancel As Integer, FormatCount As Integer)
    ShowPageFooter = True
End Sub

Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)
    If Not ShowPageFooter Then Me.Section("PageFooterSection").Visible = False
End Sub
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

08 ก.ย. 62 , 21:23:47
ตอบกลับ #8

kunlek

ยังไม่ได้ครับ เอา code นี้ไปใส่ในโมดูล ถูกต้องไหมครับ และ froce new page เปลี่ยนเป็น after section

 

08 ก.ย. 62 , 21:47:55
ตอบกลับ #9

kunlek

สร้าง group footer

 

08 ก.ย. 62 , 22:10:10
ตอบกลับ #10

สันติสุข

โมดูลของรายงานตัวนี้นะครับ ไม่ใช่โมดูลแยกต่างหาก และบรรทัด Private Sub GroupFooter1_Format(Cancel As Integer, FormatCount As Integer)  เปลี่ยนชื่อ GroupFooter1 ไปเป็นชื่อกรุ๊ปของคุณหรือยัง
« แก้ไขครั้งสุดท้าย: 08 ก.ย. 62 , 22:17:26 โดย สันติสุข »
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

09 ก.ย. 62 , 07:02:51
ตอบกลับ #11

kunlek

ชื่อ groupfooter1 แต่หาโมดูลของ form ไม่เจอครับ ผมคงใส่โมดูลผิด   หรือเป็นว่าส่วนยอดรวมทั้งหมดผมอยู่ที่ pagefooter

 

09 ก.ย. 62 , 07:16:25
ตอบกลับ #12

kunlek

รายงานผมมี page header,  detail, voucher_s_id footer , page footer   

 

09 ก.ย. 62 , 07:22:36
ตอบกลับ #13

kunlek

โมดูลที่ใส่เป็นอย่างนี้ครับ

Option Compare Database

Option Explicit

Dim ShowPageFooter As Boolean

Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
    ShowPageFooter = False
    Me.Section("PageFooterSection").Visible = True
End Sub


Private Sub voucher_s_id_footer_Format(Cancel As Integer, FormatCount As Integer)

    ShowPageFooter = True
End Sub

Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)
    If Not ShowPageFooter Then Me.Section("PageFooterSection").Visible = False
End Sub

 

09 ก.ย. 62 , 10:55:26
ตอบกลับ #14

สันติสุข

ตามรูป เมื่อคลิกไปโค้ดที่บอกแล้ว ที่ Title ตามตำแหน่งที่ลูกศรชี้ จะต้องเป็น Report_ชื่อรายงานของคุณ
ส่วนชื่อของ Group จะดูตามตำแหน่งที่วงกลมไว้ เช็คดูว่าถูกต้องหรือไม่

ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

09 ก.ย. 62 , 14:54:52
ตอบกลับ #15

kunlek

เจอ error ไปไม่ถูกเลยครับ ขอความกรุณาช่วยทีครับ




 


บอร์ดเรียนรู้ Access สำหรับคนไทย