访问自定义表单打印的打印报告选项

时间:2014-05-07 20:34:06

标签: vba ms-access printing access-vba

我在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

1 个答案:

答案 0 :(得分:0)

您正在打开报告两次!两行代码以DoCmd.OpenReport开头。

View参数第一次设置为acViewPreview,因此它在屏幕上显示(=预览)而不打印。第二次View参数设置为acNormal(=无预览),因此它直接打印到打印机而不显示在屏幕上。

BTW第二次打印所有记录,因为没有发送标准!

删除第二个Docmd.OpenReport...。这是不必要的,也是造成问题的原因。