0

我正在使用此代码从表单中打印记录

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

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

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

4

3 回答 3

1

DoMenuItem 至少从 Access 2000 开始已被弃用。您可以使用 RunCommand 打开打印窗口。

DoCmd.RunCommand acCmdPrint

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

于 2010-07-27T14:44:46.190 回答
1

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

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

于 2010-07-28T19:42:31.643 回答
0

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

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

于 2010-07-27T14:03:41.187 回答