Mengakses Database Eksternal pada Microsoft Access

 

Database eksternal yang bukan merupakan database yang sedang diberjalan/dibuka. Hal ini dapat dibuat query yang menggunakan database eksternal, baik melalui objek Queries yang ada di Access Navigation Pane, maupun melalui VBA. 

Manfaat Eksternal Database

  • Database eksternal dapat mengamankan data yang bersifat konfidensial. Seperti gaji karyawan dibuat terpisah dari database utama dan diberi password. Maka untuk mengakses data gaji menuliskan Kode VBA yang digunakan untuk mengakses data gaji.
  • Jika melakukan migrasi dari database lain ke MS Access, penggunaan ekstenal database sangat membantu.
  • Penggunaan database eksternal di Microsoft Access lebih praktis dari pada di database lain.
Microsoft Access menyediakan dua macam cara untuk membuat query yang melibatkan database eksternal.

1. Menggunakan klausa IN 

Microsoft Access SQL mempunyai klausa IN untuk mengakses database eksternal. Metode ini hanya bisa digunakan untuk satu database eksternal.  maka apabila menghubungkan dua / lebih database eksternal, harus membuat dua / lebih query yang masing-masing query berisi satu database eksternal. 

Klausa IN terdiri dari : nama database & connection string.  Database harus lengkap dengan direktori / path beserta file. Bila tidak ada direktori / path, maka lokasi database eksternal itu disama dengan database yang sedang terbuka. Untuk connection string harus berisi tipe provider database dan parameter lain yang mungkin diperlukan, seperti user id, password,  dll.

Berikut adalah contoh penggunaan klausa IN :

1.1. dBASE IV = Tabel Customer

Format :

Select kode, nama, alamat From Customer IN "C:\DTBASE\CUSTOMER" "dBASE IV;"  WHERE kode Like "A*" 


1.2. Excel 2007 ( Microsoft Excel 12.0 || *.xlsx )  = file nama : Rekening dengan sheet tblRekening   

Mengakses Microsoft Excel Worksheet "tblRekening", database eksternal Rekening.xlsx dengan field / kolom : kode, nama , group

Format baris pertama dari tabel ( sheet ) diperlakukan sebagai header atau nama field

Select  Norek,Nama,Grup From [tblRekening$] IN "C:\dtExcel\Rekening.xlsx" "EXCEL 12.0;";  

bisa juga ditulis seperti dibawah ini :

Select  Norek,Nama,Grup From [tblRekening$] IN 'C:\dtExcel\Rekening.xlsx'[EXCEL 12.0;]; 

Format yang baris pertama dari tabel ( sheet ) tidak diperlakukan sebagai header atau nama field

Select  * From [tblRekening$] IN "C:\dtExcel\Rekening.xlsx" "EXCEL 12.0;HDR=No";    

 bisa juga ditulis seperti dibawah ini :

Select  * From [tblRekening$] IN 'C:\dtExcel\Rekening.xlsx'[EXCEL 12.0;HDR=No];  

 

1.3. Access = Tabel : tblRekening , Database : dtAccess.accdb

Format  :

Dengan Direktori atau path

Select * From  tblRekening IN 'C:\dtBase\dtAccess.accdb';  

Direktori database Eksternal berasa di database yang terbuka atau aktif

Select * From tblRekening IN 'dtAccess.accdb';  



2. Menggunakan connection string after klausa FROM

Klausa FROM pada Microsoft Access digunakan string koneksi database secara lengkap yang kemudian diikuti dengan tabel. String koneksi diletakkan di antara kurung siku pembuka ("[")  dan penutup ("]").  

 Berikut adalah contoh penggunaan klausa FROM :

2.1  Excel 2007 ( Microsoft Excel 12.0 || *.xlsx )  = file nama : Rekening dengan sheet tblRekening

Format :

Select * From [database=C:\dtExcel\Rekening.xlsx;EXCEL 12.0].[tblRekening$];  

bisa juga dengan perintah dibawah

Select * From [database=C:\dtExcel\Rekening.xlsx;EXCEL 12.0].Rekening;  


2.2.  Access = Tabel : tblRekening, tblBank   ; Database : dtAccess.accdb

Format : Single Table 

Select * From [Database=C:\dtBase\dtAccess.accdb;MS ACCESS].tblRekening  

Format : Multi Table

Select r.NoRek, r.Nama, r.Grup From [database=C:\dtExcel\Rekening.xlsx;EXCEL 12.0].tblRekening as r LEFT JOIN [Database=C:\dtBase\dtAccess.accdb;MS Access].tblTrans t ON r.NoRek= t.NoRek Group By r.NoRek, r.Nama, r.Grup  



Baca juga artikel yang berkaitan :