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.
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.Function BuatTabelBukuBesar() '------------------------------------------ ' Fungsi untuk membuat tabel/query ' yang digunakan dalam proses pembuatan ' buku besar. '------------------------------------------ Dim obj As AccessObject, dbsObject As Object Dim dbs As DAO.Database Dim tdf As DAO.TableDef Dim fld As DAO.Field2 On Error GoTo Err_Msg Set dbsObject = Application.CurrentData For Each obj In dbsObject.AllTables If obj.Name = "tblBukuBesar" Then DoCmd.DeleteObject acTable, obj.Name End If Next obj Set dbs = CurrentDb() ' membuat tabel dengan nama tblBukuBesar Set tdf = dbs.CreateTableDef("tblBukuBesar") ' membuat field untk tblBukuBesar tdf.Fields.Append tdf.CreateField("JurnalId", dbLong) tdf.Fields.Append tdf.CreateField("TipeJurnal", dbText, 3) tdf.Fields.Append tdf.CreateField("NoJurnal", dbLong) tdf.Fields.Append tdf.CreateField("TglTransaksi", dbDate) tdf.Fields.Append tdf.CreateField("Ref", dbText, 50) tdf.Fields.Append tdf.CreateField("NoRef", dbLong) tdf.Fields.Append tdf.CreateField("NoUrut", dbLong) tdf.Fields.Append tdf.CreateField("RefDetail", dbText, 50) tdf.Fields.Append tdf.CreateField("KodeRek", dbText, 3) tdf.Fields.Append tdf.CreateField("Deskripsi", dbText, 100) tdf.Fields.Append tdf.CreateField("Deriv1", dbText, 3) tdf.Fields.Append tdf.CreateField("Deriv2", dbText, 3) tdf.Fields.Append tdf.CreateField("Kuantitas", dbDouble) tdf.Fields.Append tdf.CreateField("SU", dbText, 12) tdf.Fields.Append tdf.CreateField("HargaSatuan", dbDouble) tdf.Fields.Append tdf.CreateField("TotalJumlah", dbDouble) tdf.Fields.Append tdf.CreateField("Debit", dbDouble) tdf.Fields.Append tdf.CreateField("Kredit", dbDouble) tdf.Fields.Append tdf.CreateField("SaldoAkhir", dbDouble) tdf.Fields.Append tdf.CreateField("JthTempo", dbDate) dbs.TableDefs.Append tdf dbs.Close Cleanup: Set tdf = Nothing Set dbs = Nothing Exit_Function: Exit Function Err_Msg: MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description Resume Exit_Function 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:- 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
- 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.
- 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.
- 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
Maaf pak, cara buat tabel diatas untuk buat yg field record type autonumber codenya gmn?
ReplyDeleteDi bawah Set tdf = dbs.CreateTableDef("tblBukuBesar") sisipkan kode vba berikut ini:
DeleteSet fld = tdf.CreateField("JID", dbLong) 'untuk field autonumber
fld.Attributes = dbAutoIncrField
tdf.Fields.Append fld
Set fld = Nothing
Sudah dicoba,beres.. terima kasih pak...hilang 1 masalah lagi
Delete