打印记录

时间:2010-07-27 13:40:09

标签: ms-access ms-access-2003

我正在使用此代码从表单

打印记录
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

但是,这段代码没有弹出打印窗口来选择打印机,它会自动发送到默认打印机。

任何人都可以帮助弹出打印窗口从中选择打印机。

3 个答案:

答案 0 :(得分:1)

至少从Access 2000开始,不推荐使用DoMenuItem。您可以使用RunCommand打开打印窗口。

DoCmd.RunCommand acCmdPrint

打印记录几乎不是一个好主意。构建一个可以与Where参数一起使用的报告并不需要很长时间。这将为您提供更多控制,并为您的用户提供更愉快的体验。

答案 1 :(得分:1)

您是否查看过Printer对象(它是在A2002中引入的)?您可以使用它来获取有关打印机的信息并创建自己的对话框表单,以允许用户选择打印机,然后在Printer对象上设置它并打印报告。我从来没有真正使用它,所以不能给出详细的说明,但这是处理这个问题的正确方法。

而且,是的,这可能比它看起来更难,但相信我,它比引入Printer对象之前容易得多!

答案 2 :(得分:0)

如文档中所述,DoCmd.PrintOut未显示打印对话框。

我想到的第一个解决方案是使用SendKeys - 函数,发送Ctrl + P并以这种方式打开打印对话框。