TempVars adalah sebuah objek yang bertindak seperti sebuah variabel temporer dalam visual basic application. Tempvars diperkenalkan sejak Access 2007, dan berfungsi untuk menyimpan variabel global di dalam sebuah lingkungan yang stabil. Bagi para pemrogram VBA Access, keberadaan TempVars sangat membantu mereka menyusun dan mengeksekusi program.
Karena sifatnya yang stabil, begitu sebuah variable object TempVars diberi nilai, dia akan tetap disimpan dalam memori sementara di dalam database yang aktif. Variabel objek TempVar akan dikosongkan saat ada perintah remove atau database yang aktif ditutup.
Tempvars mempunyai tipe data variant, sehingga kita bisa menggunakan tempvar[1], tempvar[2], dan seterusnya.
Sintaks penulisan TempVars:
Isikanlah nilai variabel temporer itu = Temporary Variable 123456 seperti pada gambar di atas, lalu klik tombol Simpan TempVars ke Memori Sementara. Nilai Temporary Variable 123456 akan disimpan dalam variabel temporer yang bernama [TempVars]![ContohTempVars]. Kita dapat menekan tombol Tampilkan TempVars di Msg Box untuk menampilkannya dalam bentuk Message Box. Bila tombol Hapus TempVars di Memori Sementara ditekan, maka nama [TempVars]![ContohTempVars] beserta nilainya akan dihapus.
Nilai [TempVars]![ContohTempVars] yang sudah tersimpan di memori sementara dapat kita panggil sewaktu-waktu di berbagai objek di dalam Access, seperti Query, Form (selain frmTempVar di atas), Report, Macro. Sekarang, tutup form frmTempVar dengan [TempVars]![ContohTempVars] tetap di simpan dalam memori sementara.
Penggunaan TempVars di Query
Kita dapat membuat sembarang query yang digunakan untuk memanggil TempVars. Sebagai misal, buatlah Select Query dengan tabel budget. Query lengkapnya seperti di bawah ini:
SELECT tblBudget.Tahun, tblBudget.Bulan, tblBudget.KodeRek, tblBudget.Deriv1, tblBudget.Deriv2, tblBudget.JumlahBudget, [TempVars]![ContohTempVars] AS TempVar FROM tblBudget;
Bila query di atas dilihat dengan datasheet view, maka tampilannya akan seperti di bawah ini.
Dari gambar di atas, terlihat bahwa kolom (field) TempVar memuat nilai [TempVars]![ContohTempVars] yang telah tersimpan dalam memori sementara.
Penggunaan TempVars di Form
Kita dapat membuat sembarang form control seperti text box, combo box, list box, dan sebagainya yang defaultnya berisi nilai TempVars. Sebagai misal, text box yang bernama txtTempVar pada frmTempVar di atas. Pada bagian properti Default Value, isikan nilainya dengan [TempVars]![ContohTempVars], seperti tampak pada gambar di bawah.
Bila frmTempVar dibuka secara form view, maka text box txtTempVar akan terisi oleh nilai [TempVars]![ContohTempVars] yang sudah tersimpan sebelumnya, seperti pada gambar Form View frmTempVar di atas.
Dengan metode yang sama seperti di atas, kita dapat menggunakan TempVars di Report, Macro, maupun Module. Sederhana sekali bukan?
Karena sifatnya yang stabil, begitu sebuah variable object TempVars diberi nilai, dia akan tetap disimpan dalam memori sementara di dalam database yang aktif. Variabel objek TempVar akan dikosongkan saat ada perintah remove atau database yang aktif ditutup.
Tempvars mempunyai tipe data variant, sehingga kita bisa menggunakan tempvar[1], tempvar[2], dan seterusnya.
Sintaks penulisan TempVars:
- TempVars.Add Nama, Nilai -> digunakan untuk inisialisasi, menyimpan nama dan nilai TempVars
- TempVars.Remove Nama -> digunakan untuk menghapus satu nama TempVars
- TempVars.RemoveAll -> digunakan untuk menghapus semua TempVars yang ada.
- Buatlah sebuah form dengan menggunakan Blank Form. Simpan form itu dengan nama frmTempVar
- Sisipkan text box control dengan properti Name=txtTempVar dan caption untuk label dari text box ini = Nama TempVars = ContohTempVars, Nilai =
- Di bagian bawah dari text box ini, sisipkan tiga buah command button dengan properti masing-masing sebagai berikut:
- Name=cmbSimpan, Caption=Simpan TempVars ke Memori Sementara
- Name= cmbTampilkan, Caption= Tampilkan TempVars di Msg Box
- Name= cmbHapus, Caption= Hapus TempVars di Memori Sementara
Design View frmTempVar - Pada bagian form module dari Form_frmTempVar sisipkan kode VBA berikut ini:
Option Compare Database Private Sub cmbHapus_Click() TempVars.Remove "ContohTempVars" End Sub Private Sub cmbSimpan_Click() TempVars.Add "ContohTempVars", Me.txtTempVar.Value End Sub Private Sub cmbTampilkan_Click() If Not IsNull([TempVars]![ContohTempVars]) Then MsgBox "Nama Variabel Temporer: ContohTempVars dengan nilai: " & [TempVars]![ContohTempVars] Else MsgBox "Nama Variabel Temporer Tidak Ada" End If End Sub
Form View frmTempVar |
Nilai [TempVars]![ContohTempVars] yang sudah tersimpan di memori sementara dapat kita panggil sewaktu-waktu di berbagai objek di dalam Access, seperti Query, Form (selain frmTempVar di atas), Report, Macro. Sekarang, tutup form frmTempVar dengan [TempVars]![ContohTempVars] tetap di simpan dalam memori sementara.
Penggunaan TempVars di Query
Kita dapat membuat sembarang query yang digunakan untuk memanggil TempVars. Sebagai misal, buatlah Select Query dengan tabel budget. Query lengkapnya seperti di bawah ini:
SELECT tblBudget.Tahun, tblBudget.Bulan, tblBudget.KodeRek, tblBudget.Deriv1, tblBudget.Deriv2, tblBudget.JumlahBudget, [TempVars]![ContohTempVars] AS TempVar FROM tblBudget;
Bila query di atas dilihat dengan datasheet view, maka tampilannya akan seperti di bawah ini.
Nilai [TempVars]![ContohTempVars] =Temporary Variable 123456 dalam datasheet query |
Penggunaan TempVars di Form
Kita dapat membuat sembarang form control seperti text box, combo box, list box, dan sebagainya yang defaultnya berisi nilai TempVars. Sebagai misal, text box yang bernama txtTempVar pada frmTempVar di atas. Pada bagian properti Default Value, isikan nilainya dengan [TempVars]![ContohTempVars], seperti tampak pada gambar di bawah.
Memasukkan nilai pada properti Default Value |
Dengan metode yang sama seperti di atas, kita dapat menggunakan TempVars di Report, Macro, maupun Module. Sederhana sekali bukan?
maaf mas... kalo mau variabel kedua dan ketiga tempvar[2],tempvar[3].. gimana caranya? btw... bukunya bagus... aku suka..
ReplyDeleteCoba buat sebuah tombol dng nama testTemp lalu isikan on click event berikut ini:
DeletePrivate Sub testTemp_Click()
Dim strtemp(2) As String, n As Integer
TempVars.RemoveAll
For n = 0 To 2
TempVars.Add "Test" & n, n 'membuat tempvars ke 0,1, dan 2.
Debug.Print [TempVars].Item(n).name & "= " & [TempVars].Item(n).Value 'menampilkan tempvars ke 0,1, dan 2.
Next n
End Sub