私の質問は、Access レポートを 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 行が含まれます。私が別の方法でできることについて、誰かが提供できる洞察はありますか?