访问自定义表单打印的打印报告选项
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 并像魅力一样工作。我知道我忽略了一些简单的事情......我使代码比必要的复杂一点。再次感谢!以上是关于访问自定义表单打印的打印报告选项的主要内容,如果未能解决你的问题,请参考以下文章