我的问题是关于我必须将访问报告打印到 PDF 文件的代码。我需要为每个组提供单独的 PDF,以便我可以向每个组发送他们的销售额,并且只发送他们的销售额。该报告打印出每件售出的物品和销售的详细信息。我的代码有效,但是在第 10 个分组后它停止并给我错误代码 3048:无法打开更多数据库。我在另一个线程上读到访问限制为 2048 个引用,但是我的数据集并不是那么大。我的代码如下(我已经标记了我的报告名称 REPORT 和组标识符 GROUP,我的 QUERY 从 2 个表中提取):
Private Sub Report_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim MyFileName As String
Dim mypath As String
Dim temp As String
mypath = "PATH\Access PDF Testing\"
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT [GROUP] FROM [QUERY]", dbOpenSnapshot)
Do While Not rs.EOF
temp = rs("GROUP")
MyFileName = rs("GROUP") & ".PDF"
DoCmd.OpenReport "REPORT", acViewReport, , "[GROUP]='" & temp & "'"
DoCmd.OutputTo acOutputReport, "", acFormatPDF, mypath & MyFileName
DoCmd.Close acReport, "REPORT"
DoEvents
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
它可以工作,但是在将 10 个组打印到 PDF 后,它会失败。我尝试只运行名称中没有特殊字符的组,结果是强制分页符,但没有任何东西可以超过第 10 组记录。每个组内大约有 10-20 行。关于我可以做些什么不同的事情,任何人都可以提供任何见解吗?