Bu Access VBA Eğitimi, VBA kullanarak Erişim Raporları ile nasıl etkileşim kurulacağını tartışacaktır.
Rapor Yazdır
Bu VBA işlevi bir Erişim raporu yazdıracaktır:
Public Function Print_Report(ReportName As String) Hatada SubError GoTo SubError DoCmd.OpenReport ReportName, acViewPreview, , , , acHiden DoCmd.SelectObject acReport, ReportName DoCmd.RunCommand acCmdPrint SubExit: Exit Function SubError: &MsgBox " Sayı & ": " & Err.Açıklama Bitiş Fonksiyonu
Fonksiyonu şu şekilde çağırabilirsiniz:
Private Sub Print_Report_Example() Call Print_Report("Report1") End Sub
İşlevin raporu yazdırmak için aşağıdaki kod satırını kullandığına dikkat edin:
DoCmd.RunCommand acCmdPrint
Raporu Açtıktan ve Seçtikten sonra (bir sonraki bölüme bakın).
Aç / Rapor Seç
Yukarıdaki işlev, raporu açmak için DoCmd.OpenReport'u kullandı:
DoCmd.OpenReport "Rapor1", acViewPreview, , , , acHiden
Not: Bu örnek için değişkeni değiştirdik Rapor Adı tablo adı ile “Rapor1”
Ardından raporu seçer:
DoCmd.SelectObject acReport, "Rapor1"
Filtre Raporu
Raporu belirli kriterlerle açarak da bir Raporu Filtreleyebilirsiniz:
DoCmd.OpenReport "Rapor1", acViewPreview, "num=0"
Raporu Excel'e Aktar
Raporun çıktısını Excel'e almak için DoCmd.OutputTo'yu kullanabilirsiniz:
DoCmd.OutputTo acOutputReport, "Rpt1", acFormatXLS, "C:\examples\report1.xls"
Bu VBA işlevi, bir raporu Excel'e aktaracaktır:
Genel İşlev Export_Report(RaporAdı Dize, FilePath As Dize) Hatasında GoTo SubError DoCmd.OutputTo acOutputReport, ReportName, acFormatXLS, FilePath SubExit: Exit Function SubError: Export_Report'u çağırın("Report1", "c:\temp\ExportedReport.xls") Bitiş İşlevi
İşlev, girilen FilePath'e kaydeder, ancak herhangi bir dosya yolu seçilmezse, C sürücüsündeki Temp Klasörüne kaydeder.
Fonksiyonu şu şekilde çağırabilirsiniz:
Private Sub Export_Report_Example() Çağrı Export_Report("Rpt1", "C:\examples\report1.xls") End Sub
DoCmd.OutputTo yeni bir dosyaya çıktı verir. Bunun yerine mevcut bir dosyaya çıktı alabilir veya diğer Excel nesnelerinin çıktısını almak için DoCmd.OutputTo'yu kullanabilirsiniz. Access VBA'da İçe / Dışa Aktarma hakkındaki makalemizde daha fazla bilgi edinebilirsiniz.