Este código irá exportar cada registro da tabela especificada para arquivos PDF independentes.
Certifique-se de substituir "NomeDaTabela" pelo nome da tabela que contém os registros que deseja exportar e "NomeDoRelatorio" pelo nome do relatório que deseja usar como base para a exportação.
Certifique-se também de substituir "C:\Caminho\Para\A\Pasta\De\Saida" pelo caminho da pasta onde deseja salvar os arquivos PDF.
Sub ExportarRegistrosParaPDF()
' Sub-rotina para exportar cada registro de uma tabela para arquivos PDF independentes
' Declaração das variáveis
Dim rs As DAO.Recordset ' Recordset para iterar sobre os registros
Dim db As DAO.Database ' Referência ao banco de dados atual
Dim strSQL As String ' Consulta SQL para selecionar os registros da tabela
Dim OutputFolder As String ' Pasta de saída para os PDFs
Dim ReportName As String ' Nome do relatório a ser exportado
' Define o nome da tabela e do relatório
Dim TableName As String
TableName = "NomeDaTabela"
ReportName = "NomeDoRelatorio"
' Define a pasta de saída para os PDFs
OutputFolder = "C:\Caminho\Para\A\Pasta\De\Saida"
' Abre uma referência ao banco de dados atual
Set db = CurrentDb()
' Cria uma consulta SQL para selecionar todos os registros da tabela
strSQL = "SELECT * FROM " & TableName
' Abre o recordset com os registros da tabela
Set rs = db.OpenRecordset(strSQL)
' Verifica se o recordset está vazio
If rs.EOF Then
MsgBox "A tabela está vazia.", vbInformation, "Informação"
Exit Sub
End If
' Loop através do recordset
Do While Not rs.EOF
' Filtra o relatório pelo ID do registro atual e o abre em modo de visualização
DoCmd.OpenReport ReportName, acViewPreview, , "[ID] = " & rs![ID]
' Salva o relatório como PDF na pasta de saída, usando o ID como nome do arquivo
DoCmd.OutputTo acOutputReport, "", acFormatPDF, OutputFolder & "\" & rs![ID] & ".pdf"
' Fecha o relatório
DoCmd.Close acReport, ReportName, acSaveNo
' Move para o próximo registro no recordset
rs.MoveNext
Loop
' Fecha o recordset e libera a referência ao banco de dados
rs.Close
Set rs = Nothing
Set db = Nothing
' Mensagem informando que o processo foi concluído
MsgBox "Exportação para PDF concluída com sucesso.", vbInformation, "Concluído"
End Sub
Clique aqui e nos contate via What's App para avaliarmos seus projetos
Nenhum comentário:
Postar um comentário