Este Tutorial do VBA do Access discutirá como interagir com os Relatórios do Access usando o VBA.
Relatório de impressão
Esta função VBA imprimirá um relatório de acesso:
Função pública Print_Report (ReportName As String) Em Erro GoTo SubError DoCmd.OpenReport ReportName, acViewPreview,,,, acHiden DoCmd.SelectObject acReport, ReportName DoCmd.RunCommand acCmdPrint SubExit: Exit Function SubError: MsgbreBox "& Erro Print_ReBox" & Número & ":" & Err.Description End Function
Você pode chamar a função assim:
Private Sub Print_Report_Example () Chame Print_Report ("Report1") End Sub
Observe que a função usa a seguinte linha de código para imprimir o relatório:
DoCmd.RunCommand acCmdPrint
após abrir e selecionar o relatório (consulte a próxima seção).
Abrir / selecionar relatório
A função acima usou DoCmd.OpenReport para abrir o relatório:
DoCmd.OpenReport "Report1", acViewPreview,,,, acHiden
Nota: para este exemplo, substituímos a variável ReportName com nome de mesa “Report1”
Em seguida, ele seleciona o relatório:
DoCmd.SelectObject acReport, "Report1"
Relatório de Filtro
Você também pode filtrar um relatório abrindo o relatório com critérios específicos:
DoCmd.OpenReport "Report1", acViewPreview,, "num = 0"
Exportar relatório para Excel
Você pode usar DoCmd.OutputTo para gerar o relatório no Excel:
DoCmd.OutputTo acOutputReport, "Rpt1", acFormatXLS, "C: \ examples \ report1.xls"
Esta função VBA exportará um relatório para o Excel:
Função pública Export_Report (ReportName As String, FilePath As String) On Error GoTo SubError DoCmd.OutputTo acOutputReport, ReportName, acFormatXLS, FilePath SubExit: Exit Function SubError: Call Export_Report ("Report1", "c: \ temp \ ExportedReport.xls") Função Final
A função será salva no FilePath inserido, mas se nenhum caminho de arquivo for escolhido, ela será salva na pasta Temp na unidade C.
Você pode chamar a função assim:
Private Sub Export_Report_Example () Chame Export_Report ("Rpt1", "C: \ examples \ report1.xls") End Sub
O DoCmd.OutputTo gera a saída para um novo arquivo. Em vez disso, você pode gerar a saída para um arquivo existente ou usar DoCmd.OutputTo para gerar outros objetos do Excel. Você pode aprender mais em nosso artigo sobre Importação / Exportação no Access VBA.