我正在使用此代码从表单
打印记录Private Sub btnPrintRecord_Click()
On Error GoTo Err_btnPrintRecord_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.PrintOut acSelection
Exit_btnPrintRecord_Click:
Exit Sub
Err_btnPrintRecord_Click:
MsgBox Err.Description
Resume Exit_btnPrintRecord_Click
End Sub
但是,这段代码没有弹出打印窗口来选择打印机,它会自动发送到默认打印机。
任何人都可以帮助弹出打印窗口从中选择打印机。
答案 0 :(得分:1)
至少从Access 2000开始,不推荐使用DoMenuItem。您可以使用RunCommand打开打印窗口。
DoCmd.RunCommand acCmdPrint
打印记录几乎不是一个好主意。构建一个可以与Where参数一起使用的报告并不需要很长时间。这将为您提供更多控制,并为您的用户提供更愉快的体验。
答案 1 :(得分:1)
您是否查看过Printer对象(它是在A2002中引入的)?您可以使用它来获取有关打印机的信息并创建自己的对话框表单,以允许用户选择打印机,然后在Printer对象上设置它并打印报告。我从来没有真正使用它,所以不能给出详细的说明,但这是处理这个问题的正确方法。
而且,是的,这可能比它看起来更难,但相信我,它比引入Printer对象之前容易得多!
答案 2 :(得分:0)
如文档中所述,DoCmd.PrintOut
未显示打印对话框。
我想到的第一个解决方案是使用SendKeys
- 函数,发送Ctrl + P并以这种方式打开打印对话框。