我正在尝试将每条记录导出为其自己的 PDF 并将其保存到特定的文件位置。
数据库有一张表、一个查询和一份报表。有 217 条记录,所以我想要 217 个 pdf 文件。
我希望 PDF 名称基于表中指定的记录 ID(例如:记录 1 将保存为“Record1.pdf”,记录 2 将保存为“Record2.pdf”等)。
我的报告名称是“电子邮件”。
我的查询名称是“Query1”。
我从网上摘取了一些片段。
Private Sub Command0_Click()
Dim ReportName As String
Dim OutputFolder 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, , "", acFormatPDF, OutputFolder & "\" & rs![ID] & ".PDF"
DoCmd.Close acReport, ReportName, acSaveYes
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
此代码导出一个 PDF(名为“1.pdf”)并将其保存到我的文件位置,但所有记录都在此 PDF 中。然后代码就会失败。
你漏掉了一个逗号:
DoCmd.OpenReport ReportName, acViewReport, , "[ID] = " & rs![ID] & "", acHidden