2014-09-12 82 views
1

我有一个宏在打印预览中打开报告,显示当前记录。该报告从与此打印预览按钮相同的表单中提取信息。访问报告 - 打印预览不会打印

问题是,有时打印按钮的工作原理和打印单个报告记录,其他时间打印表格格式的每一条记录。

这里是链接到一个按钮形式的代码:

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上面调用报告和表单。如预期

报告打印:

  1. 用户打开数据库头版
  2. 点击按钮头版以打开Form并输入信息
  3. 点击打印预览按钮,激活上述
  4. 点击宏报表1打印单条记录

表格打印所有记录:

  1. 用户打开数据库头版
  2. 点击按钮头版打开窗体2,进入信息
  3. 点击按钮的Form 2打开Form1并输入信息
  4. 点击打印预览按钮,激活宏上述带状
  5. 点击打印按钮,打印Form1的所有记录
+0

打印预览中的2之间是否有任何不同? – 2014-09-12 19:31:19

+0

不,报告在打印预览中显示相同。 – trourke 2014-09-13 22:20:27

回答

0

既然你写的所有记录都得到以表格格式打印,当按下功能区上的打印按钮时,“Form1”显得非常重要。

您可避免通过

  • 打开报表
  • 当使用报告的右键菜单按下打印按钮
  • 创建的“Form1中单独的打印按钮,关闭“Form1的” '将报告发送到打印机而不预览它
+0

我在预览代码中添加了'DoCmd.Close,“,'',但这会导致打印按钮变灰。从这里右键单击表单,甚至没有关闭代码也可以。 您的第三个选项是否将打开报告模式从acPrintPreview更改为acNormal?如果是这样,它会如何看待这一点,并确保在印刷之前关注报告? 打印预览打开后是否可以输入代码以确保关注报告? “Report!Report1.SetFocus”似乎不起作用,我猜是因为它只作为预览打开? – trourke 2014-09-15 20:21:05

+0

在Print Preview中搜索焦点问题给了我更多的线索:(1)除非我犯了一个愚蠢的语法错误,'.SetFocus'命令只会引发错误。 (2)我尝试了'DoCmd.SelectObject acReport,“Report1”'没有错误但没有效果。 – trourke 2014-09-15 21:33:52