การเรียก
เมนูพิมพ์ ของ MS
Access ด้วยคำสั่ง acCmdPrint
โดย อ.ทองจุล ขันขาว
ความรู้พื้นฐานโปรแกรมAccess การใช้ VBA กับโปรแกรม Access
โดยปกติ การสร้างเมนูในโปรแกรม Accessให้สั่งพิมพ์ สามารถทำได้อยู่แล้ว
เพราะโปรแกรมจะมีเมนูพิมพ์ ให้สามารถนำมาใช้ได้ทันที แต่เมนูพิมพ์ที่เรียกมาใช้นี้
จะสั่งพิมพ์ออกทางเครื่องพิมพ์ทันที ไม่ปรากฎเมนูพิมพ์เพื่อให้ตั้งค่าใด ๆ
ทั้งสิ้น ดังนั้น ถ้าผู้ใช้ต้องการกำหนดว่าจะสั่งพิมพ์เพียงบางหน้า
หรือสั่งพิมพ์เป็นช่วง ๆ ก็ไม่สามารถทำได้ เพราะไม่มีเมนูพิมพ์ปรากฎ
จึงไม่สามารถตั้งค่าใด ๆ ได้ ดังนั้น จึงจำเป็นต้องใช้คำสั่ง ของ VBA เข้าช่วย คำสั่งที่ว่านั้น ก็คือ acCmdPrintการใช้คำสั่งนี้ จำเป็นต้องให้โปรแกรมตรวจสอบ error ด้วย เพราะถ้าผู้ใช้คลิก Cancel จะเกิด error และ ทำให้โปรแกรมแสดงผลผิดปกติไป เช่น
อาจจะแสดงเมนูพิมพ์ 2 ครั้ง เป็นต้น
การใช้คำสั่ง ทำได้ดังนี้
- สร้างฟังชั่นในโมดูล
ดังนี้
Function printDialog()
On Error Resume Next
DoCmd.RunCommand acCmdPrint
On Error GoTo 0
End Function
ฟังชั่นนี้ เรียกใช้คำสั่ง acCmdPrint และตรวจสอบ error ที่เกิดขึ้น
- สร้างเมนูใหม่ และใช้เมนู print
- คลิกขวาที่เมนูใหม่เพื่อเรียก property
- คลิกที่ properties เพื่อเปิดเมนู เรียกใช้ฟังชั่นที่สร้างขึ้นใหม่นี้ที่ On Action ของเมนู โดยพิมพ์=printDialog() ลงในช่อง ตามภาพ
เป็นอันเสร็จการเรียกเมนูพิมพ์ เพื่อให้ผู้ใช้สามารถตั้งค่าการพิมพ์ ได้ตามต้องการ