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

Posted

技术标签:

【中文标题】访问自定义表单打印的打印报告选项【英文标题】:Access Print Report Options for Custom Form Printing 【发布时间】:2014-05-07 20:34:05 【问题描述】:

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

【问题讨论】:

这就是按钮点击事件相关的所有代码吗?我正在寻找 DoCmd.PrintOut 但我没有看到它。这告诉我肯定有其他事情涉及。 @newbie 是的,这就是与之相关的所有代码。我相信 Exit_cmdPrintReport_click 是执行打印的内容。 Exit_cmdPrintReport_Click 是一个标签,就像一个行标记,用于在您使用GoTo 语句时告诉代码接下来在哪里执行。它对自己没有任何作用。 您在此处打开了两次报告。即使自动打印,报告中是否有任何内容? 【参考方案1】:

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

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

顺便说一句,您第二次打印所有记录,因为没有发送标准!

删除第二个Docmd.OpenReport...。这是不必要的,是导致您的问题的原因。

【讨论】:

感谢我们的意见,您是绝对正确的。我删除了第二个 Docmd.OpenReport 并像魅力一样工作。我知道我忽略了一些简单的事情......我使代码比必要的复杂一点。再次感谢!

以上是关于访问自定义表单打印的打印报告选项的主要内容,如果未能解决你的问题,请参考以下文章

访问报告 - 打印预览不会打印

辅助功能 - 如何在元素上设置自定义选项卡焦点顺序

c# winform 打印表单

在选择选项上自定义引导表单控件

不要从 django 表单打印媒体

SharePoint 2010 - 如何为列表项打印InfoPath表单