访问VBA代码-如何将每个单独的记录导出为自己的PDF?

问题描述 投票:0回答:1

我正在尝试将每个单独的记录导出为其自己的 PDF 并自动将其保存到特定的文件位置。我想自动化整个过程,但是在使 VBA 代码正常工作时遇到问题。我正在处理的数据库有 1 个表、1 个查询和 1 个报告。有 217 条记录,因此我想将 217 个 PDF 导出到文件位置。另外,我希望根据表中指定的记录 ID 来命名 PDF(例如:记录 1 将保存为“Record1.pdf”,记录 2 将保存为“Record2.pdf”,...等等)我已经有一段时间没有使用 Access 了,所以所有的 VBA 代码对我来说都是新的。如果您需要更多详细信息,请告诉我。

我的报告名称是“电子邮件” 我的查询名称是“Query1”

任何帮助都会很棒。

这是我到目前为止的代码示例。我从互联网上找到了一些零碎的东西。

Private Sub Command0_Click()

    Dim ReportName As String
    Dim OutpoutFolder As String
    Dim rs As DAO.Recordset
    
    ReportName = "Emails"
    OutputFolder = "C:\Users\MyName"
    
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM Query1")
    
    Do While Not rs.EOF
        DoCmd.OpenReport ReportName, acViewReport, "[ID] = " & rs![ID] & " ", acHidden
        DoCmd.OutputTo acOutputReport, "", acFormactPDF, OutputFolder & "\" & rs![ID] & ".PDF"
        DoCmd.Close acReport, ReportName, acSaveYes
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    Set db = Nothing   

End Sub

---目前,当我运行此代码时,它仅导出一个 PDF(名为“1.pdf”)并自动将其保存到我的文件位置,但所有记录都在此 PDF 中。然后代码永远不会移动到下一条记录,然后就会失败。

vba database ms-access pdf export
1个回答
0
投票

你漏掉了一个逗号:

DoCmd.OpenReport ReportName, acViewReport, , "[ID] = " & rs![ID] & "", acHidden
© www.soinside.com 2019 - 2024. All rights reserved.