Home » » Merge/Gabung 2 atau lebih Tables in Access (bukan kolom)

Merge/Gabung 2 atau lebih Tables in Access (bukan kolom)

Written By Unknown on Jumat, 18 Oktober 2013 | 19.54


Access tidak menyediakan cara untuk menggabungkan beberapa table menjadi satu, tapi bisa kita akali dengan
  1. Manual, satu persatu kita Append Tables
  2. VBA
  3. SQL
Caranya :

1.  Cara Manual

Kita akan menambahkan file satu ke file lainnya, yaitu dengan Query Append, caranya :
  1. Awalnya kita buat dulu table untuk menampung senua tables tersebut, caranya kita copy aja dari salah satu tabel , misalnya dari bulan JAN
  2. Kita klik kanan di Table  JAN
  3. Kita hanya akan meng-Copy Structure aja, lalu kita beri nama “JAN-DES”
  4. Baru kita append tables ke table “JAN_DES”
  5. Buat Query baru, Ribbon –> Create –> Query Design
  6. Tambahkan Table JAN ke query (pilih JAn di kotak dialog “Show Tables” lalu OK)
  7. Lalu tampilkan semua field di kotak query (pilih JAN.*) lalu Klik Ribbon Design –>Append, pilih table penampung, lalu OK
  8. Lalu Klik Ribbon –> Design –> Run
  9. Klik OK
  10. Ulangi lagi langkah2 diatas untuk tables2 lainnya

2. Menggunakan SQL dan VBA

SQL singkatan dari Structured Query Language, yaitu suatu bahasa untuk menampilkan dan memanipulasi Database, semua aplikasi database biasanya memiliki ini karena merupakan standard dan memiliki sintaks/ tata bahasa yang sama
Untuk belajar SQL kita perlu waktu, namun di Access kita bisa menggunakan Query Editor
  1. Coba kita buka query untuk menambah/ append tables yang tadi, kita buka dengan View Design (jangan klik 2x atau open karena akan menjalankan Append query)
  2. Setelah terbuka , kita bisa lihat perintah SQL-nya yaitu dengan Klik SQL View
  3. Ini hasilnya
  4. Perintah SQLnya adalah “INSERT INTO [JAN-DES] SELECT JAN.* FROM JAN;
  5. Artinya insert/append semua field di table JAN ke Tabel JAN-DES
  6. Agar kita tidak perlu membuat 12 query kita bisa gabungkan di VBA
  7. Kita bikin dulu module baru di VBA, caranya:
  8. Pilih Ribbon –> Create –> Macro

  9. Pilih Module

  10. Akan muncul Microsoft Visual Basic Editor
  11. Kita ketikkan baris baris kode pada Module1 sbb:
Sub AppendData()
DoCmd.SetWarnings False
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT JAN.* FROM JAN;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT FEB.* FROM FEB;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT MAR.* FROM MAR;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT APR.* FROM APR;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT MEI.* FROM MEI;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT JUNI.* FROM JUNI;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT JULI.* FROM JULI;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT AGS.* FROM AGS;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT SEP.* FROM SEP;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT OKT.* FROM OKT;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT NOV.* FROM NOV;”
DoCmd.RunSQL “INSERT INTO [JAN-DES] SELECT DES.* FROM DES;”
End Sub

  • Program tadi akanmelakukan insert/append table sebanyak 12 kali/ untuk tiap bulan
  • SetWarnings False untuk supaya kotak dialog peringatan atas penambahan data di tables tidak akan ditampilkan
  • Lalu tempatkan kursor pada module1 diantara sub ….End sub, lalu klik Run –> Run Sub/Userform atau tombol panah dibawahnya
  • Ini Hasilnya, total record= 19,337
C. Memakai SQL
Kita memakai salah satu statement/perintah di query yaitu UNION ALL artinya menggabungkan tabel satu dengan yang lain , karena ini ada dua belas maka kita lakukan 12 penggabungan
Caranya :
  1. Buat query baru, tapi jangan isi dengan tabel, jadi kotak dialog Show table langsung aja di Close
  2. Klik View SQL di Ribbon –> Design (otomatic akan jadi Button SQL View di ribbon design)
  3. Ketik sql berikut ini di windows sql editor

SELECT JAN.* FROM JAN UNION ALL
SELECT FEB.* FROM FEB UNION ALL
SELECT MAR.* FROM MAR UNION ALL
SELECT APR.* FROM APR UNION ALL
SELECT MEI.* FROM MEI UNION ALL
SELECT JUNI.* FROM JUNI UNION ALL
SELECT JULI.* FROM JULI UNION ALL
SELECT AGS.* FROM AGS UNION ALL
SELECT SEP.* FROM SEP UNION ALL
SELECT OKT.* FROM OKT UNION ALL
SELECT NOV.* FROM NOV UNION ALL
SELECT DES.* FROM DES
Jalankan query tadi dengan Klik View/Run di Ribbon Design
  • Ini Hasilnya, total record= 19,337
  • Save query tadi menjadi qryUnion
  • Agar bisa menjadi table kita harus bikin query make table
  • Caranya Ribbon–>Create–>Query Design, di kotak dialog isi dengan qryUnion
  • lalu ubah menjadi Make Table Query
  • Jalankan dengan Klik Run
  • Ini hasilnya
Share this article :

4 comments:

  1. Terima kasih infonya,

    Mau tnya.. apakah dalam membuat subform bisa combine antara tabel dan query ? jika bisa, bagaimana caranya ?
    Thnkss

    BalasHapus
  2. kalo gabungin 3 tabel atau lebih gimana ya query nya? tanpa primarykey. hanya menggabungkan data yg ada di semua tabel jadi 1 aja.tiap tabel field nya sama. makasih.

    BalasHapus
    Balasan
    1. patokannya apa bro ? misalnya patokannya nama , brarti seret aja nama table1 ke nama table2 , record diisi dulu supaya ga bingung bro , abis itu coba di run

      Hapus

Isi Blog: