Questo tutorial su Access VBA discuterà come interagire con i report di accesso utilizzando VBA.
Stampa il resoconto
Questa funzione VBA stamperà un rapporto di accesso:
Public Function 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: ErrBox "&Print_Report errore: " Numero & ": " & Err.Descrizione Fine Funzione
Puoi chiamare la funzione in questo modo:
Private Sub Print_Report_Example() Call Print_Report("Report1") End Sub
Si noti che la funzione utilizza la seguente riga di codice per stampare il report:
DoCmd.RunCommand acCmdPrint
dopo l'apertura e la selezione del report (vedere la sezione successiva).
Apri/Seleziona rapporto
La funzione sopra ha utilizzato DoCmd.OpenReport per aprire il report:
DoCmd.OpenReport "Report1", acViewPreview, , , , acHiden
Nota: per questo esempio abbiamo sostituito la variabile Nome rapporto con il nome della tabella “Rapporto1”
Successivamente seleziona il rapporto:
DoCmd.SelectObject acReport, "Report1"
Rapporto filtro
Puoi anche filtrare un report aprendo il report con criteri specifici:
DoCmd.OpenReport "Report1", acViewPreview, , "num=0"
Esporta report in Excel
È possibile utilizzare DoCmd.OutputTo per inviare il report a Excel:
DoCmd.OutputTo acOutputReport, "Rpt1", acFormatXLS, "C:\examples\report1.xls"
Questa funzione VBA esporterà un report in Excel:
Funzione pubblica 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") Fine funzione
La funzione salverà nel FilePath immesso, ma se non viene scelto alcun percorso file, verrà salvato nella cartella temporanea sull'unità C.
Puoi chiamare la funzione in questo modo:
Private Sub Export_Report_Example() Chiama Export_Report("Rpt1", "C:\examples\report1.xls") End Sub
L'output di DoCmd.OutputTo in un nuovo file. È invece possibile eseguire l'output in un file esistente o utilizzare DoCmd.OutputTo per l'output di altri oggetti Excel. Puoi saperne di più nel nostro articolo sull'importazione/esportazione in Access VBA.