我在Access中有一个自定义表单和报告,我有一个'打印报告'我的表单上的按钮,它获取数据库的当前记录并打印出我为其创建的报告。我的问题是我在报告上快速打印的代码。一旦我按下"打印报告"我创建的按钮,弹出打印预览,然后自动打印报告。我希望能够在报告打印之前查看预览,打开打印对话框并能够选择我想要使用的打印机,而不是使用默认打印机进行快速打印。我的代码在下面是当前格式,我不确定在何处或如何进行此调整。提前感谢您的任何帮助!
Private Sub cmdPrintReport_Click()
Dim strReportName As String
Dim strCriteria As String
strReportName = "rptDrillReclamation"
strCriteria = "[HoleNumber]='" & Me![HoleNumber] & "'"
DoCmd.OpenReport strReportName, acViewPreview, , strCriteria
On Error GoTo Err_cmdPrintReport_Click
Dim stDocName As String
stDocName = "rptDrillReclamation"
DoCmd.OpenReport stDocName, acNormal
Exit_cmdPrintReport_Click:
Exit Sub
Err_cmdPrintReport_Click:
MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End Sub
答案 0 :(得分:0)
您正在打开报告两次!两行代码以DoCmd.OpenReport
开头。
View
参数第一次设置为acViewPreview
,因此它在屏幕上显示(=预览)而不打印。第二次View
参数设置为acNormal
(=无预览),因此它直接打印到打印机而不显示在屏幕上。
BTW第二次打印所有记录,因为没有发送标准!
删除第二个Docmd.OpenReport...
。这是不必要的,也是造成问题的原因。