In deze Access VBA-zelfstudie wordt besproken hoe u met Access Reports kunt communiceren via VBA.
Rapport afdrukken
Deze VBA-functie drukt een toegangsrapport af:
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: &Report_MsgBox: " Nummer & ": " & Err.Beschrijving Eindfunctie
Je kunt de functie als volgt aanroepen:
Private Sub Print_Report_Example() Bel Print_Report("Report1") End Sub
Merk op dat de functie de volgende regel code gebruikt om het rapport af te drukken:
DoCmd.RunCommand acCmdPrint
na het openen en selecteren van het rapport (zie volgende sectie).
Rapport openen / selecteren
De bovenstaande functie gebruikte DoCmd.OpenReport om het rapport te openen:
DoCmd.OpenReport "Rapport1", acViewPreview, , , , acHiden
Opmerking: voor dit voorbeeld hebben we de variabele vervangen Rapportnaam met tabelnaam “Rapport1”
Vervolgens selecteert het het rapport:
DoCmd.SelectObject acReport, "Rapport1"
Rapport filteren
U kunt een rapport ook filteren door het rapport met specifieke criteria te openen:
DoCmd.OpenReport "Rapport1", acViewPreview, , "num=0"
Rapport exporteren naar Excel
U kunt de DoCmd.OutputTo gebruiken om het rapport naar Excel uit te voeren:
DoCmd.OutputTo acOutputReport, "Rpt1", acFormatXLS, "C:\examples\report1.xls"
Deze VBA-functie exporteert een rapport naar Excel:
Openbare functie Export_Report (ReportName As String, FilePath As String) Bij fout GoTo SubError DoCmd.OutputTo acOutputReport, ReportName, acFormatXLS, FilePath SubExit: Exit Function SubError: Call Export_Report("Report1", "c:\temp\ExportedReport.xls") Functie beëindigen
De functie wordt opgeslagen in het ingevoerde FilePath, maar als er geen bestandspad is gekozen, wordt deze opgeslagen in de Temp-map op de C-schijf.
Je kunt de functie als volgt aanroepen:
Private Sub Export_Report_Example() Roep Export_Report("Rpt1", "C:\examples\report1.xls") End Sub
De DoCmd.OutputTo wordt uitgevoerd naar een nieuw bestand. In plaats daarvan kunt u uitvoeren naar een bestaand bestand of DoCmd.OutputTo gebruiken om andere Excel-objecten uit te voeren. U kunt meer leren in ons artikel over importeren / exporteren in Access VBA.