Skip to main content

Mengisi Control Tip Text Pada Control Dalam Form di Access Secara Otomatis

Seperti kita ketahui, saat membuat sebuah control yang ada dalam sebuah form di Access, nilai properti Description yang ada di field tabel akan diletakkan dalam properti Status Bar Text. Namun demikian, kita bisa saja menaruh nilai properti Description pada properti Control Tip Text. Dengan demikian, saat mouse digeser ke atas sebuah control, Access akan menampilkan semacam tips berisi deskripsi yang memudahkan pengguna dalam memahami control itu.
Control Tip Text, menampilkan keterangan ringkas saat kursor berada di atas sebuah kontrol
Persoalannya, setiap kali kita membuta form dengan cara apapun (form wizard, blank form, dan sebagainya), properti Control Tip Text yang ada pada sebuah kontrol di form dan terikat (bound) ke field sebuah tabel selalu kosong alias tidak terisi dengan nilai Description dari field tabel yang menjadi record source/control source. Nilai Description dari field tabel akan ditampilkan di properti Status Bar Text, sehingga tidak terlihat langsung saat mouse bergerak ke atas sebuah kontrol. Nah, atas dasar alasan inilah, kita membuat fungsi untuk menampilkan Control Tip Text.

Untuk menampilkan Control Tip Text sesuai dengan deskripsi field, kita dapat membuat fungsi seperti berikut ini.
  1. Function memuatControlTipText(frm As Form, strSql As String)  
  2.   Dim rs As dao.Recordset  
  3.   Dim fld As dao.Field  
  4.   Dim ctl As Control  
  5.   Dim strDescription As String  
  6.   Dim prp As Property  
  7.     
  8. On Error GoTo Err_Msg  
  9.     
  10.   Set rs = membukaRecordset(strSql, True)  
  11.   With frm  
  12.     For Each ctl In .Controls  
  13.       If ctl.ControlType <> acLabel Then  
  14.         If ctl.Controls.Count > 0 Then strDescription = ctl.Controls.Item(0).Caption Else strDescription = ""  
  15.       End If  
  16.       For Each fld In rs.Fields  
  17.         If fld.Name = ctl.Name And fld.Type <> DB_OLE Then  
  18.             strDescription = arrayTampilkanPropertiField(fld.Name, fld.SourceTable, prpDescription)  
  19.         End If  
  20.       Next fld  
  21.     ctl.ControlTipText = strDescription  
  22.     Next ctl  
  23.   End With  
  24. Exit_Function:  
  25.   rs.Close  
  26.   Set rs = Nothing  
  27.   Exit Function  
  28. Err_Msg:  
  29.   MsgBox "Function memuatControlTipText, Error # " & str(Err.Number) & ", source: " & Err.Source & _  
  30.   Chr(13) & Err.description  
  31.   Resume Exit_Function  
  32. End Function  
Fungsi memuatControlTipText  disimpan dalam sebuah modul standar, misalnya disimpan di mdlCore seperti pada penjelasan di Database Front-end dan Back-end atau di modul yang terkait dengan form secara global, terserah mana yang paling pas.

Fungsi memuatControlTipText akan memuat penjelasan ringkas dari setiap control yang ada dalam sebuah form. Contoh aplikasinya dapat kita lihat di gambar atas. Setiap kali kursor bergerak ke atas sebuah control, tips berupa penjelasan ringkas dari control ini akan ditampilkan. Bila berkaitan dengan field sebuah tabel, maka penjelasan diambil dengan menggunakan deskripsi field yang ada di tabel. Bila berkaitan dengan form, maka penjelasan diambil dari nama label yang melekat pada control.

Ada dua parameter yang wajib diisi:
  1. frm, digunakan untuk mengidentifikasi Form yang dibuka
  2. strSql, digunakan untuk mengidentifikasi tabel atau query yang menjadi record source.
Ada beberapa fungsi buatan sendiri yang terlibat di dalamnya. Jadi, untuk menjalankannya, kita  harus mempunyai fungsi:
  1. membukaDbs
  2. membukRecordset
  3. arrayTampilkanPropertiField
Karena berkaitan dengan sebuah form, maka untuk menjalankannya, kita harus menempatkan fungsi memuatControlTipText dalam sebuah event procedure yang ada di form, yaitu pada event on open, seperti berikut ini:
  1. Option Compare Database  
  2. Private Const strNamaTabel = "tblPengguna_Pengguna"  
  3.   
  4. Private Sub Form_Open(Cancel As Integer)  
  5.   memuatControlTipText Me, strNamaTabel  
  6. End Sub  
Pada memuatControlTipText yang ada dalam sub Form_Open di atas, Me adalah nama form dari parameter frm yang sedang terbuka. Pada gambar di atas, nama formnya adalah frmPengguna_Pengguna (abaikan judul/Caption form tblPengguna_Pengguna), sedangkan strNamaTabel adalah nama tabel yang menjadi record source atau sumber recordset dari parameter strSql. Dalam hal ini strNamaTabel merupakan konstanta yang bernama tblPengguna_Pengguna seperti dinyatakan pada Private Const strNamaTabel = "tblPengguna_Pengguna".
Untuk mengaplikasikan fungsi memuatControlTipTex ke dalam form yang anda buat, copy event procedur di atas, mulai dari Private Const... sampai dengan End Sub. Setelah itu, gantilah nama tabel pada const strNamaTabel sesuai dengan tabel yang ada  di record source dari form.

Comments

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