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.
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.
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:
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.
![]() |
Control Tip Text, menampilkan keterangan ringkas saat kursor berada di atas sebuah kontrol |
Untuk menampilkan Control Tip Text sesuai dengan deskripsi field, kita dapat membuat fungsi seperti berikut ini.
- Function memuatControlTipText(frm As Form, strSql As String)
- Dim rs As dao.Recordset
- Dim fld As dao.Field
- Dim ctl As Control
- Dim strDescription As String
- Dim prp As Property
- On Error GoTo Err_Msg
- Set rs = membukaRecordset(strSql, True)
- With frm
- For Each ctl In .Controls
- If ctl.ControlType <> acLabel Then
- If ctl.Controls.Count > 0 Then strDescription = ctl.Controls.Item(0).Caption Else strDescription = ""
- End If
- For Each fld In rs.Fields
- If fld.Name = ctl.Name And fld.Type <> DB_OLE Then
- strDescription = arrayTampilkanPropertiField(fld.Name, fld.SourceTable, prpDescription)
- End If
- Next fld
- ctl.ControlTipText = strDescription
- Next ctl
- End With
- Exit_Function:
- rs.Close
- Set rs = Nothing
- Exit Function
- Err_Msg:
- MsgBox "Function memuatControlTipText, Error # " & str(Err.Number) & ", source: " & Err.Source & _
- Chr(13) & Err.description
- Resume Exit_Function
- End Function
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:
- frm, digunakan untuk mengidentifikasi Form yang dibuka
- strSql, digunakan untuk mengidentifikasi tabel atau query yang menjadi record source.
- membukaDbs
- membukRecordset
- arrayTampilkanPropertiField
- Option Compare Database
- Private Const strNamaTabel = "tblPengguna_Pengguna"
- Private Sub Form_Open(Cancel As Integer)
- memuatControlTipText Me, strNamaTabel
- End Sub
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
Post a Comment