Ms access 从MS Access导出为格式化PDF
我对MS Access非常陌生。目标是从MS Access数据库导出多个PDF文件。目前,我可以通过以下代码导出多个Excel文件。但我想将其导出为PDF格式,在表格(颜色、字体等)中进行少量的格式更改,并在PDF中添加页眉和页脚注释Ms access 从MS Access导出为格式化PDF,ms-access,pdf,vba,Ms Access,Pdf,Vba,我对MS Access非常陌生。目标是从MS Access数据库导出多个PDF文件。目前,我可以通过以下代码导出多个Excel文件。但我想将其导出为PDF格式,在表格(颜色、字体等)中进行少量的格式更改,并在PDF中添加页眉和页脚注释 Private Sub Command4_Click() Dim rsGroup As DAO.Recordset Dim ColumnName As String Dim myPath As String myPath = "E:\TestExport\"
Private Sub Command4_Click()
Dim rsGroup As DAO.Recordset
Dim ColumnName As String
Dim myPath As String
myPath = "E:\TestExport\"
Set rsGroup = CurrentDb.OpenRecordset("SELECT DISTINCT TableName.Column FROM TableName", dbOpenDynaset)
Do While Not rsGroup.EOF
ColumnName = rsGroup!Column
Dim rsExportSQL As String
rsExportSQL = "SELECT * FROM TableName WHERE TableName.Column='" & ColumnName & "'"
Dim rsExport As DAO.QueryDef
Set rsExport = CurrentDb.CreateQueryDef("myExportQueryDef", rsExportSQL)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "myExportQueryDef", myPath & RegionName & ".xls", True
CurrentDb.QueryDefs.Delete rsExport.Name
rsGroup.MoveNext
Loop
End Sub
感谢您,我们的解决方案是正确的。根据所有要导出的查询创建报告,然后在VBA中,使用该方法将报告导出为PDF。下面是一个代码示例:
DoCmd.OutputTo acOutputReport, "MyReportToExport", acFormatPDF, "C:/Users/MyUserAccount/Documents/MyExportedPDF.pdf"
您也可以通过将“acOutputReport”更改为“acOutputQuery”来导出查询,但通过使用报表,您可以对格式进行更多的控制。的解决方案是正确的方法。根据所有要导出的查询创建报告,然后在VBA中,使用该方法将报告导出为PDF。下面是一个代码示例:
DoCmd.OutputTo acOutputReport, "MyReportToExport", acFormatPDF, "C:/Users/MyUserAccount/Documents/MyExportedPDF.pdf"
您也可以通过将“acOutputReport”更改为“acOutputQuery”来导出查询,但通过使用报表,您可以对格式进行更多的控制。如上所述,PDF是结构化的、固定格式的文档文件,而不是动态数据文件。考虑下面的例程:
Private Sub Command4_Click()
Dim rsGroup As DAO.Recordset
Dim ColumnName As String, myPath As String
myPath = "E:\TestExport\"
Set rsGroup = CurrentDb.OpenRecordset("SELECT DISTINCT Column FROM TableName", _
dbOpenDynaset)
Do While Not rsGroup.EOF
ColumnName = rsGroup!Column
' OPEN REPORT, FILTERING RECORDSOURCE BY COLUMN VALUE
DoCmd.OpenReport "ReportName", acViewPreview, , "Column='" & ColumnName & "'"
' OUTPUT REPORT TO FILE
DoCmd.OutputTo acOutputReport, "ReportName", acFormatPDF, _
myPath & ColumnName & ".pdf", False
' CLOSE PREVIEW
DoCmd.Close acReport, "ReportName"
rsGroup.MoveNext
Loop
rsGroup.Close
Set rsGroup = Nothing
End Sub
如上所述,PDF是结构化的、固定格式的文档文件,而不是动态数据文件。考虑下面的例程:
Private Sub Command4_Click()
Dim rsGroup As DAO.Recordset
Dim ColumnName As String, myPath As String
myPath = "E:\TestExport\"
Set rsGroup = CurrentDb.OpenRecordset("SELECT DISTINCT Column FROM TableName", _
dbOpenDynaset)
Do While Not rsGroup.EOF
ColumnName = rsGroup!Column
' OPEN REPORT, FILTERING RECORDSOURCE BY COLUMN VALUE
DoCmd.OpenReport "ReportName", acViewPreview, , "Column='" & ColumnName & "'"
' OUTPUT REPORT TO FILE
DoCmd.OutputTo acOutputReport, "ReportName", acFormatPDF, _
myPath & ColumnName & ".pdf", False
' CLOSE PREVIEW
DoCmd.Close acReport, "ReportName"
rsGroup.MoveNext
Loop
rsGroup.Close
Set rsGroup = Nothing
End Sub
您好,我建议您根据您的查询创建一个报告,以微调详细信息和格式。报告完成后,只需为任何其他查询创建一个模板,并将vba导出为pdf。您好,我建议根据您的查询创建一个报告,以精细调整详细信息和格式。报告完成后,只需为任何其他查询创建一个模板,然后将vba导出为pdf。谢谢,我在许多论坛上获得了从报告导出pdf的代码。实际上,我想知道一个脚本中的过程/代码来完成所有的事情。在我给出的代码中,您可以看到一个查询正在为循环随机创建,在完成循环后,它被删除。是否有任何程序/代码可以将查询保存为格式化报告并将报告导出为PDF格式。我试了很多,但是没有运气。你能帮我一点忙吗?再次感谢Hanks,我从许多论坛的报告中获得了导出PDF的代码。实际上,我想知道一个脚本中的过程/代码来完成所有的事情。在我给出的代码中,您可以看到一个查询正在为循环随机创建,在完成循环后,它被删除。是否有任何程序/代码可以将查询保存为格式化报告并将报告导出为PDF格式。我试了很多,但是没有运气。你能帮我一点忙吗?再次感谢