Denna VBA -handledning för Access kommer att diskutera hur du interagerar med åtkomstrapporter med VBA.
Skriv ut rapport
Denna VBA -funktion kommer att skriva ut en Access -rapport:
Public Function Print_Report (REPORT As String) On Error Goto Subfel DoCmd.OpenReport REPORT, acViewPreview,, acHiden DoCmd.SelectObject acReport, REPORT DoCmd.RunCommand acCmdPrint SubExit: Exit Function Subfel: MsgBox "Print_Report error:" & vbCrLf & Err. Number & ":" & Err.Description End Function
Du kan kalla funktionen så här:
Private Sub Print_Report_Example () Call Print_Report ("Report1") End Sub
Lägg märke till att funktionen använder följande kodrad för att skriva ut rapporten:
DoCmd.RunCommand acCmdPrint
efter att du öppnat och valt rapporten (se nästa avsnitt).
Öppna / välj rapport
Ovanstående funktion använde DoCmd.OpenReport för att öppna rapporten:
DoCmd.OpenReport "Report1", acViewPreview,,,, acHiden
Obs! För detta exempel har vi ersatt variabeln Rapportnamn med tabellnamn “Rapport1”
Därefter väljer den rapporten:
DoCmd.SelectObject acReport, "Report1"
Filtrera rapport
Du kan också filtrera en rapport genom att öppna rapporten med specifika kriterier:
DoCmd.OpenReport "Report1", acViewPreview,, "num = 0"
Exportera rapport till Excel
Du kan använda DoCmd.OutputTo för att mata ut rapporten till Excel:
DoCmd.OutputTo acOutputReport, "Rpt1", acFormatXLS, "C: \ examples \ report1.xls"
Denna VBA -funktion exporterar en rapport till Excel:
Public Function 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 \ ExportR") Avsluta funktion
Funktionen sparas i den inmatade FilePath, men om ingen sökväg väljs sparas den i Temp -mappen på C -enheten.
Du kan kalla funktionen så här:
Privat under Export_Report_Example () Ring Export_Report ("Rpt1", "C: \ exempel \ report1.xls") Avsluta sub
DoCmd.OutputTo matas ut till en ny fil. Istället kan du mata ut till en befintlig fil eller använda DoCmd.OutputTo för att mata ut andra Excel -objekt. Du kan läsa mer i vår artikel om import / export i Access VBA.