访问报告 - 打印预览不会打印
Posted
技术标签:
【中文标题】访问报告 - 打印预览不会打印【英文标题】:Access Report - Print Preview Won't Print 【发布时间】:2014-09-12 19:11:48 【问题描述】:我有一个宏,可以在打印预览中打开报表,并显示当前记录。该报告从该打印预览按钮所在的同一表单中提取信息。
问题是,有时打印按钮会起作用并打印单个报告记录,而有时它会以表单格式打印每条记录。
这是链接到表单中按钮的代码:
Private Sub Print_Record_Click()
'Save and print record
On Error GoTo Err_Msg
CurrentDb.Execute "qryOrderQty", dbFailOnError
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "rptWorkOrder", acViewPreview, , "Prod_Num = " & Me!Prod_Num
Exit Sub
Err_Msg:
MsgBox Err.Description
End Sub
不确定它是否有帮助,但我认为这里有一些情况会导致错误发生。我们将分别在 Report1 和 Form1 之上调用报表和表单。
报告按预期打印:
-
用户在首页打开数据库
点击首页按钮打开Form1并输入信息
点击打印预览按钮,激活上面的宏
单击功能区中的打印按钮,Report1 打印单个记录
表格打印所有记录:
-
用户在首页打开数据库
点击首页按钮打开Form2并输入信息
点击Form 2上的按钮打开Form1并输入信息
点击打印预览按钮,上面的激活宏
单击功能区中的打印按钮,Form1 打印所有记录
【问题讨论】:
打印预览中的2有区别吗? 不,报告在打印预览中显示相同。 【参考方案1】:由于您写道所有记录都以表单格式打印,因此当您按下功能区上的打印按钮时,“Form1”似乎很明显具有焦点。
你可以避免这种情况
打开报表时关闭“Form1” 使用报表的右键菜单按下打印按钮 在“Form1”上创建一个单独的打印按钮,将报表发送到打印机而不进行预览【讨论】:
我在预览代码中添加了DoCmd.Close , ""
,但这会导致打印按钮变灰。从这里右键单击表单,甚至没有关闭代码也可以。您的第三个选项是否只是将打开报告模式从 acPrintPreview 更改为 acNormal?如果是这样,它将如何看待这一点并确保在打印之前专注于报告?打印预览打开后我可以输入代码以确保专注于报告吗? Reports!Report1.SetFocus
似乎不起作用,我猜是因为它仅作为预览打开?
在打印预览中搜索焦点问题给了我更多线索,但这些线索逐渐消失了:(1) 除非我犯了愚蠢的语法错误,否则.SetFocus
命令只会引发错误。 (2) 我试过DoCmd.SelectObject acReport, "Report1"
没有报错但是没有效果。以上是关于访问报告 - 打印预览不会打印的主要内容,如果未能解决你的问题,请参考以下文章
如何将 ms 访问报告的详细信息部分分成两页进行打印预览和打印?