Skip to main content

Mengenal Tabel Temporer di MS Access

Tabel temporer atau tabel sementara dalam penjelasan posting berikut ini bukanlah tabel temporer yang dibuat oleh MS Access secara tersembunyi (hidden by default). Sebaliknya, tabel temporer dalam postingan ini merupakan tabel yang kita buat sendiri.

Umumnya, tabel temporer hanya akan kita buat saat dibutuhkan. Bila tabel temporer tidak lagi dibutuhkan, maka kita akan menghapus tabel itu dari Access Navigation pane. Jadi, karena bersifat temporer, maka tabel ini tidak akan pernah tersimpan secara permanen dalam sebuah aplikasi database Access.

Tidak ada tempat penyimpanan yang khusus digunakan untuk membuat tabel temporer. Sama seperti tabel Access pada umumnya, tabel temporer juga ada di bagian Table dari Access Navigation pane. Perbedaannya, kita sebagai pemrogram Access hanya perlu memberikan identifikasi yang khusus berkaitan dengan nama tabel temporer itu. Sebagai misal, tblTemp_namaTabel, tblTmpNamaTabel, dan sebagainya. Kita dapat memberikan nama tabel temporer sesuai selera, mana yang paling nyaman dan mudah diingat.

Membuat Tabel Temporer

Tabel temporer dapat kita buat pada saat sebuah aplikasi database Access dibuka untuk pertama kalinya. Selain itu, tabel temporer dapat dibuat pada saat sebuah objek Access seperti form, report, module, query, atau macro dibuka atau dieksekusi. Bila sebuah objek Access atau aplikasi database Access sudah ditutup. selesai dieksekusi, atau sudah tidak dibutuhkan lagi, maka tabel temporer itu harus dihapus. Cara terbaik membuat tabel temporer adalah dengan menggunakan kode VBA, jangan pernah membuat tabel temporer melalui sebuah query di Access Navigation pane karena tidak aman dari tangan-tangan tak bertanggungjawab. Berikut ini adalah contoh pembuatan tabel temporer untuk menampilkan buku besar. Pembaca dapat memperoleh kode lengkap dengan membeli buku yang berjudul Membuat Program Akuntansi dengan MS Access VBA.

  1. Function BuatTabelBukuBesar()  
  2. '------------------------------------------  
  3. ' Fungsi untuk membuat tabel/query  
  4. ' yang digunakan dalam proses pembuatan  
  5. ' buku besar.  
  6. '------------------------------------------  
  7.   Dim obj As AccessObject, dbsObject As Object  
  8.   Dim dbs As DAO.Database  
  9.   Dim tdf As DAO.TableDef  
  10.   Dim fld As DAO.Field2  
  11. On Error GoTo Err_Msg  
  12.   Set dbsObject = Application.CurrentData  
  13.   For Each obj In dbsObject.AllTables  
  14.     If obj.Name = "tblBukuBesar" Then  
  15.       DoCmd.DeleteObject acTable, obj.Name  
  16.     End If  
  17.   Next obj  
  18.   Set dbs = CurrentDb()  
  19.   ' membuat tabel dengan nama tblBukuBesar  
  20.   Set tdf = dbs.CreateTableDef("tblBukuBesar")  
  21.   ' membuat field untk tblBukuBesar  
  22.   tdf.Fields.Append tdf.CreateField("JurnalId", dbLong)  
  23.   tdf.Fields.Append tdf.CreateField("TipeJurnal", dbText, 3)  
  24.   tdf.Fields.Append tdf.CreateField("NoJurnal", dbLong)  
  25.   tdf.Fields.Append tdf.CreateField("TglTransaksi", dbDate)  
  26.   tdf.Fields.Append tdf.CreateField("Ref", dbText, 50)  
  27.   tdf.Fields.Append tdf.CreateField("NoRef", dbLong)  
  28.   tdf.Fields.Append tdf.CreateField("NoUrut", dbLong)  
  29.   tdf.Fields.Append tdf.CreateField("RefDetail", dbText, 50)  
  30.   tdf.Fields.Append tdf.CreateField("KodeRek", dbText, 3)  
  31.   tdf.Fields.Append tdf.CreateField("Deskripsi", dbText, 100)  
  32.   tdf.Fields.Append tdf.CreateField("Deriv1", dbText, 3)  
  33.   tdf.Fields.Append tdf.CreateField("Deriv2", dbText, 3)  
  34.   tdf.Fields.Append tdf.CreateField("Kuantitas", dbDouble)  
  35.   tdf.Fields.Append tdf.CreateField("SU", dbText, 12)  
  36.   tdf.Fields.Append tdf.CreateField("HargaSatuan", dbDouble)  
  37.   tdf.Fields.Append tdf.CreateField("TotalJumlah", dbDouble)  
  38.   tdf.Fields.Append tdf.CreateField("Debit", dbDouble)  
  39.   tdf.Fields.Append tdf.CreateField("Kredit", dbDouble)  
  40.   tdf.Fields.Append tdf.CreateField("SaldoAkhir", dbDouble)  
  41.   tdf.Fields.Append tdf.CreateField("JthTempo", dbDate)  
  42.   dbs.TableDefs.Append tdf  
  43.   dbs.Close  
  44. Cleanup:  
  45.     Set tdf = Nothing  
  46.     Set dbs = Nothing  
  47. Exit_Function:  
  48.   Exit Function  
  49. Err_Msg:  
  50.   MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description  
  51.   Resume Exit_Function  
  52. End Function  

Alasan/Tujuan Pembuatan Tabel Temporer

Ada berbagai macam alasan kenapa kita harus membuat tabel temporer dalam sebuah aplikasi database pada umumnya, dan Access secara khusus, yaitu:
  1. Mempercepat proses query, terutama bila query yang dibuat secara bertahap atau bertingkat (query dari sebuah query). Selain itu, bila sebuah query banyak mengandung perhitungan yang dibuat melalui semacam calculated formula (expression builder), maka sebaiknya kita membuat tabel temporer untuk mempercepat proses perhitungan dan loading saat akan ditampilkan di form atau report
  2. Mengurangi trafik jaringan. Menarik data dari sebuah server (sebagai Back-end Database) untuk ditampilkan ke terminal client (sebagai Front-end Database) tanpa menggunakan tabel temporer dapat memperlambat trafik jaringan. Contohnya adalah sebuah form input data transaksi yang mempunyai combo/list box yang diambil dari data induk/master. Kita dapat membuat link table yang terhubung ke server dan menjadi record source dari form input data transaksi. Sedangkan row source dari combo/list box yang diambil dari data induk/master, kita dapat menaruh tabel temporer yang ditempatkan di terminal klien. Dengan demikian, kita tidak perlu memuat semua data langsung dari server.
  3. Menyajikan data yang diperoleh dari proses query mungkin akan memakan waktu lama. Bila kita ingin menampilkan beberapa laporan, baik dalam bentuk form atau report, yang mempunyai kandungan data relatif sama, tetapi proses query memakan waktu lama, maka sebaiknya kita gunakan tabel temporer yang disimpan di terminal klien. Kita dapat memperbaharui laporan itu dengan menyediakn fasilitas refresh/reload data pada saat dibutuhkan.
  4. Menampilkan data yang diimpor dari sumber data di luar database yang dibuka. Sebelum data hasil impor disimpan dalam tabel permanen, ada baiknya kita membuat tabel temporer untuk mengecek validitas dan akurasi data hasil impor. Bila ada kesalahan input data maka kita dapat memperbaikinya di tabel temporer atau dengan cara mengimpor ulang data yang akan disimpan dalam tabel permanen. Contohnya seperti Gambar 1 di bawah ini. Pembahasan lebih detail dapat dibaca di posting yang berjudul Mengimpor Data Budget dari Excel ke Tabel di Access.
    Gambar 1

Comments

  1. Maaf pak, cara buat tabel diatas untuk buat yg field record type autonumber codenya gmn?

    ReplyDelete
    Replies
    1. Di bawah Set tdf = dbs.CreateTableDef("tblBukuBesar") sisipkan kode vba berikut ini:
      Set fld = tdf.CreateField("JID", dbLong) 'untuk field autonumber
      fld.Attributes = dbAutoIncrField
      tdf.Fields.Append fld
      Set fld = Nothing

      Delete
    2. Sudah dicoba,beres.. terima kasih pak...hilang 1 masalah lagi

      Delete

Post a Comment

Posting Terpopuler

Cara Mengatur dan Menggunakan ODBC untuk Mengakses Data Eksternal

Fungsi Untuk Membuka Database di Access VBA

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