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 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:
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 FunctionFungsi 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:
- 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 SubPada 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
Post a Comment