Skip to main content

Contoh Sederhana Menggunakan Database ADO di MS Access

ADO, kependekan dari ActiveX Data Objects, adalah model objek yang dapat digunakan untuk membuat recordset. ADO bukan merupakan produk asli dari Access, tetapi merupakan library yang banyak digunakan oleh bermacam-macam program untuk memanipulasi data yang berasal dari tabel Access. Sebagai contoh, kita dapat menuliskan kode macro VBA di MS Excel atau MS Word yang digunakan untuk menarik data dari tabel di Access melalui ADO.

ADO memungkinkan aplikasi pada client untuk mengakses dan memanipulasi data dari berbagai macam sumber melalui OLE DB provider. Keuntungan dari ADO adalah mudah untuk diaplikasikan, sangat cepat, dan membutuhkan sedikit memori. Aplikasi database yang banyak melibatkan client dan server cocok untuk menggunakan ADO.

Kita dapat mengaktifkan dan menggunakan ADO di MS Access dengan cara berikut ini:
  1. Pada jendela Visual Basic Editor, pilih menu Tools, lalu klik References....
  2. Cari dan pilihlah Microsoft ActiveX Data Objects x.x Library yang ada di daftar. Berilah tanda centang di sebelah kiri. Beri tanda centang juga untuk library berikut ini:
    1. Visual Basic for Applications
    2. Minimum Microsoft Access 8.0 Object Library
    3. Minimum Microsoft DAO 3.5 Object Library
  3. Klik OK.
Berikut ini adalah contoh penggunakan ADO di Access VBA. Kita akan menggunakan tabel rekening utama dengan properti tabel ada di posting yang berjudul Membuat Tabel Induk Rekening Utama. Dalam contoh ini, kita akan menggunakan back-end database, seperti telah dijelaskan pada posting yang berjudul Membuat Database Back-end dan Front-end di Microsoft Access. Dengan demikian semua linked tabel yang ada di Navigation pane dari front-end database dapat dihapus

Selanjutnya, kita akan membuat form dengan langkah-langkah sebagai berikut:
  1. Buatlah form dengan Blank Form, dan atur tampilan dalam Design view. Simpan form ini dengan nama "Contoh Tampilan ADO" atau sesukanya. Properti untuk form ini adalah sebagai berikut:
    1. Caption: Contoh Tampilan ADO
    2. Default View=Datasheet (bila diinginkan, kita dapat menggantinya dengan Single Form)
    3. Record Selectors = No
    4. Gambar 1 Design view contoh form menampilkan data dengan ADO
  2. Sisipkan 2 buah text box control dengan properti sebagai berikut
    1. Text box 1, properti:
      1. Name= KodeRek (lihat A2 pada Gambar 1)
      2. Label untuk text box ini, Caption=Kode Rekening (lihat A1 pada Gambar 1)
    2. Text box 2, properti:
      1. Name=NamaRek  (lihat B2 pada Gambar 1)
      2. Label untuk text box ini, Caption=Nama Rekening (lihat B1 pada Gambar 1)
  3. Di bawah text box 2, sisipkan Combo box dengan properti sbb:
    1. Name=Grup (lihat C2 pada Gambar 1)
    2. Column Count=2
    3. Colums Widths=0”;1.5”
    4. Column Heads=Yes
    5. List Width= 1.5"
    6. Row Source= Kode Grup;Nama Grup;1;Aktiva;2;Hutang;3;Ekuitas;4;Pendapatan;5;Biaya;6;Ringkasan Pendapatan
    7. Row Source Type= Value List
    8. Bound Column=1
    9. Label untuk combo box ini, Caption= Nama Grup (lihat C1 pada Gambar 1)
  4. Masukkan kode VBA di bawah ini pada form module:
    Option Compare Database
    Private Sub Form_Open(Cancel As Integer)
      Dim cnn1 As String
      Dim myRecordSet As New ADODB.Recordset
      cnn1 = cariConnectionString()
      myRecordSet.ActiveConnection = cnn1
      myRecordSet.CursorType = adOpenDynamic
      myRecordSet.LockType = adLockOptimistic
       With myRecordSet
          .Source = "SELECT * FROM tblRekUtama"
          .LockType = adLockOptimistic
          .CursorType = adOpenKeyset
          .Open .Source
       End With
       Set Me.Recordset = myRecordSet
       Me.KodeRek.ControlSource = myRecordSet.Fields(0).Name ' Field untuk "KodeRek" pada tblRekUtama
       Me.NamaRek.ControlSource = myRecordSet.Fields(1).Name ' Field untuk "NamaRek" pada tblRekUtama
       Me.Grup.ControlSource = myRecordSet.Fields(2).Name ' Field untuk "Grup" pada tblRekUtama
       Set myRecordSet = Nothing
    End Sub
    Function cariConnectionString() As String
      Const strProvider As String = "Microsoft.ACE.OLEDB.12.0" 'Nama penyedia OLE DB
      Const strDataSource As String = "D:\SoftwareAkuntansi\ElexMedia2\BonusCD\Final\akunting_be.accdb" 'Nama path beserta file database yang memuat tabel
      Const strUserId As String = "" 'Nama identitas user, bila database mennggunakan access level
      Const strPassword As String = "" 'Nama password, bila ada
      cariConnectionString = "Provider=" & strProvider & ";Data Source=" & strDataSource & ";User ID=" & strUserId & ";JET OLEDB:Database Password=" & strPassword
    End Function
    
Pada contoh kode di atas, langkah pertama ADO pada Access adalah melakukan koneksi antara front-end (client) dan back-end (server) dengan mencari connection string yang dijalankan oleh fungsi cariConnectionString untuk memperoleh akses ke dalam database back-end. Setelah memperoleh akses ke dalam database back-end yang ada di D:\SoftwareAkuntansi\ElexMedia2\BonusCD\Final\akunting_be.accdb, langkah selanjutnya adalah mengakses tabel tblRekUtama dan membaca recordset dari tabel ini. Tabel tblRekUtama akan diisikan dalam properti form record source sebagai sumber tabelnya.

Setelah itu, recordset yang ada di tblRekUtama akan memberikan informasi nama-nama field yang akan digunakan sebagai control source dari masing-masing form control (A2, B2, dan C2 yang ada di Gambar1) yang saat di Design view tidak terisi (unbound control source).

Tampilan form Contoh Tampilan ADO dengan menggunakan database ADO dalam bentik form view seperti gambar 2 di bawah ini.
Gambar 2 Form view contoh form menampilkan data dengan ADO
Pada gambar 2, record source yang tidak ada pada saat design view diisi oleh SQL SELECT * FROM tblRekUtama

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access

Format Untuk Field Dengan Tipe Data Number dan Currency di MS Access