Ce didacticiel Access VBA expliquera comment interagir avec Access Reports à l'aide de VBA.
Imprimer le rapport
Cette fonction VBA imprimera un rapport Access :
Fonction publique Print_Report (ReportName As String) On Error GoTo SubError DoCmd.OpenReport ReportName, acViewPreview, , , , acHiden DoCmd.SelectObject acReport, ReportName DoCmd.RunCommand acCmdPrint SubExit : Exit Function SubError : & MsgBox "Print & vbrCr Nombre & " : " & Err.Description Fin Fonction
Vous pouvez appeler la fonction comme ceci :
Private Sub Print_Report_Example() Appeler Print_Report("Report1") End Sub
Notez que la fonction utilise la ligne de code suivante pour imprimer le rapport :
DoCmd.RunCommand acCmdPrint
après l'ouverture et la sélection du rapport (voir section suivante).
Ouvrir/Sélectionner le rapport
La fonction ci-dessus a utilisé DoCmd.OpenReport pour ouvrir le rapport :
DoCmd.OpenReport "Report1", acViewPreview, , , , acHiden
Remarque : pour cet exemple, nous avons remplacé la variable Nom du rapport avec le nom du tableau « Rapport1 »
Ensuite, il sélectionne le rapport :
DoCmd.SelectObject acReport, "Report1"
Filtrer le rapport
Vous pouvez également filtrer un rapport en ouvrant le rapport avec des critères spécifiques :
DoCmd.OpenReport "Report1", acViewPreview, , "num=0"
Exporter le rapport vers Excel
Vous pouvez utiliser DoCmd.OutputTo pour exporter le rapport vers Excel :
DoCmd.OutputTo acOutputReport, "Rpt1", acFormatXLS, "C:\examples\report1.xls"
Cette fonction VBA exportera un rapport vers Excel :
Fonction publique Export_Report(ReportName As String, FilePath As String) En cas d'erreur GoTo SubError DoCmd.OutputTo acOutputReport, ReportName, acFormatXLS, FilePath SubExit : Exit Function SubError : Call Export_Report("Report1", "c:\temp\ExportedReport.xls") Fonction de fin
La fonction enregistrera dans le FilePath entré, mais si aucun chemin de fichier n'est choisi, elle sera enregistrée dans le dossier Temp sur le lecteur C.
Vous pouvez appeler la fonction comme ceci :
Private Sub Export_Report_Example() Appel Export_Report("Rpt1", "C:\examples\report1.xls") End Sub
Les sorties DoCmd.OutputTo dans un nouveau fichier. Au lieu de cela, vous pouvez sortir dans un fichier existant ou utiliser DoCmd.OutputTo pour sortir d'autres objets Excel. Vous pouvez en savoir plus dans notre article sur l'importation/l'exportation dans Access VBA.