Hello,
I have a daily task of printing multiple PDF reports daily. I decided it would be a good idea to just automate the thing. I found the following code which filters to a single report and prints it to file.
I then wrote the following to loop through all available items, and print them one by one. However, the filtering does not work and each printed PDF contains all of the items. I confirmed criteria and fileName construct properly, so I have no idea. Any help or hints would be immensely appreciated. Thank you.Public Sub ExportFilteredReportToPDF() Dim reportName As String Dim fileName As String Dim criteria As String reportName = "Exposure_Enhancement" fileName = "C:\Alert_Import\report_export_file.pdf" criteria = "[Item Number] = 'Item-2019-728'" Debug.Print criteria DoCmd.OpenReport reportName, acViewPreview, , criteria, acHidden DoCmd.OutputTo acOutputReport, reportName, acFormatPDF, fileName DoCmd.Close acReport, reportName, acSaveNo End Sub
Public Sub ExportFilteredReportToPDF2() Dim reportName As String Dim fileName As String Dim criteria As String Dim strSQL As String Dim rs As DAO.Recordset Dim DataArray As Variant Dim outer As Long Dim inner As Long Dim rowString As String strSQL = "SELECT * FROM Item_Numbers" Set rs = CurrentDb.OpenRecordset(strSQL) rs.MoveLast rs.MoveFirst DataArray = rs.GetRows(rs.RecordCount) reportName = "Exposure_Enhancement" For outer = LBound(DataArray, 1) To UBound(DataArray, 1) For inner = LBound(DataArray, 2) To UBound(DataArray, 2) rowString = DataArray(outer, inner) fileName = """" & "C:\Item_Import\PDFSave\" & rowString & ".pdf" & """" criteria = """" & "[Item Number] = " & "'" & rowString & "'" & """" DoCmd.OpenReport reportName, acViewPreview, criteria, acHidden DoCmd.OutputTo acOutputReport, reportName, acFormatPDF, fileName DoCmd.Close acReport, reportName, acSaveNo Next Next 'cleanup rs.Close Set rs = Nothing End Sub



Reply With Quote
