Dapatkan data dari akses ke excel vba

Cara menggunakan VBA untuk mengekspor data buku kerja Excel dari lembar data kueri Access dan memformat lembar kerja setelah data tiba

Terakhir diperbarui pada 27-10-2022 oleh David Wallis

Kata pengantar

Untuk banyak database yang saya kembangkan, saya menyertakan kemampuan ekspor-ke-Excel. Ini untuk klien yang menginginkan cara membuang data sehingga mereka dapat melakukan hal mereka sendiri tanpa risiko terhadap data primer

Artikel ini menjelaskan prosedur VBA untuk membuang data dari Access ke Excel, memanfaatkan DoCmd. Metode TransferSpreadsheet untuk membawa Anda melampaui penjelasan cara kerja metode ini yang Anda baca di banyak situs web.

Pertimbangan Awal

Digabungkan dari persyaratan klien selama bertahun-tahun, saya telah mengidentifikasi bahwa ini adalah fitur utama dari kemampuan ekspor-ke-Excel

  • Ekspor kumpulan data secara otomatis dari kueri
  • Ekspor diarahkan ke buku kerja di folder pilihan klien
  • Pemformatan otomatis lembar kerja setelah penyelesaian ekspor
  • Kemungkinan pengguna membuat kueri mereka sendiri

Semua database DMW yang disediakan untuk klien terbagi — Front End (FE) dan Back End (BE). FE berisi kueri, formulir, laporan, makro, dan modul, dan, jika sesuai, satu atau dua tabel, seperti yang akan saya jelaskan di bawah

BE hanya berisi tabel

Dari sudut pandang pengembang, ini adalah pertimbangan

  • Pengguna tidak diizinkan untuk mengubah struktur BE
  • Pengguna tidak diizinkan untuk mengubah FE
  • Penyediaan bagi pengguna untuk membuat kueri mereka sendiri
  • Ketentuan untuk memasukkan kueri pengguna sendiri ke dalam FE
  • Berikan kontrol proses yang sesuai ke TI klien

Jika pengguna diizinkan untuk mengotak-atik, itu akan menjadi tugas yang tidak praktis dan memakan waktu bagi saya untuk memberikan peningkatan dan dukungan terus-menerus kepada klien. Dan, klien tidak akan senang dengan tagihan tersebut

Metode Spreadsheet Transfer VBA

Prosedur kami sExportToExcel untuk mengekspor data menggunakan TransferSpreadsheet method to export the contents of a table, or of a query datasheet, as a named Excel file to a named folder:

Sub sExportToExcel( query$ , path$ )

DoCmd. TransferSpreadsheet _

Jenis Transfer. =acEkspor, _

Jenis lembar kerja. =acSpreadsheetTypeExcel12Xml, _

NamaTabel. = kueri$ ,_

Nama Berkas. = jalur$ , _

HasFieldNames. = Benar

Akhir Sub

Sebagai contoh
sExportToExcel("qsResults", "S. \Laporan\Hasil. XLSX")
mengekspor konten kueri qsResults ke folder S. \Laporan\ sebagai file Excel bernama Hasil. XLSX .

Pemrograman untuk Membuka Buku Kerja yang Diekspor

Sejauh ini prosedur kami membuat buku kerja dan menyimpannya. Pengalaman menunjukkan bahwa sebagian besar pengguna ingin melihat hasil ekspor segera setelah selesai

Jadi, proses selanjutnya di ExportToExcel adalah menampilkan workbook yang telah selesai.

Sub sExportToExcel(kueri$, jalur$)

Dim xlApp Sebagai Objek, wkbk Sebagai Objek

Postingan terbaru

LIHAT SEMUA