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

4.
คลิกที่ properties
เพื่อเปิดเมนู
5.
เรียกใช้ฟังชั่นที่สร้างขึ้นใหม่นี้
ที่ On Action ของเมนู
โดยพิมพ์
=printDialog() ลงในช่อง ตามภาพ

เป็นอันเสร็จการเรียกเมนูพิมพ์
เพื่อให้ผู้ใช้สามารถตั้งค่าการพิมพ์ ได้ตามต้องการ