VBA - 我正在尝试将报告另存为PDF,但它只会打开报告

时间:2015-09-22 17:39:52

标签: vba ms-access-2010

我的代码如下。它会打开报告,但它看起来就像停在那里一样。它永远不会到达消息框。所以我猜它在出口部分失败了。但是当我点击我的按钮时,我的断点不会触发。所以我看不出发生了什么。

有关正在发生的事情的任何想法?

Private Sub Command552_Click()
    DoCmd.OpenReport "report_name", acViewPreview, , "[RowID] = 16094"
    DoCmd.OutputTo acOutputReport, "", acFormatPDF, "C:\Users\name\Desktop\test.pdf", True

    DoCmd.Close acReport, "report_name"

    MsgBox ("done")
End Sub

3 个答案:

答案 0 :(得分:1)

由于您不确定代码的中断位置,我建议您从

中删除所有不必要的参数
DoCmd.OutputTo acOutputReport, "", acFormatPDF, "C:\Users\name\Desktop\test.pdf", True

所以你留下了类似的东西

DoCmd.OutputTo acOutputReport

系统会提示您输入文件名和位置,以及选择文件格式。看看它是否正确保存。然后,将第一个参数放回代码行:

DoCmd.OutputTo acOutputReport,“”

重复此过程,直到代码中断,然后您缩小了崩溃的位置。

从那里,可以更容易地给予帮助。

答案 1 :(得分:1)

您似乎想要从表单中打开报表并输出它。

表单不知道您要输出报告。 所以你要么必须将doCmd.Output ...添加到报告中的代码中,要么必须将指定对象设置为doCmd.Output ......

您可以尝试:

DoCmd.OutputTo acOutputReport, "report_name", acFormatPDF, _ 
             "C:\Users\name\Desktop\test.pdf", True

答案 2 :(得分:0)

问题是服务器上的问题我正在运行它。它没有必要的组件来支持导出为PDF。当我将导出格式更改为RTF时,它工作正常。