Pada postingan kali ini, penulis akan membahas tentang bagaimana caranya untuk mengontrol tampilnya Scrollbars pada sebuah subform. Kontrol disini maksudnya adalah kita menentukan apakah Scrollbars akan ditampilkan atau tidak berdasarkan batasan dari jumlah data atau record dalam suatu subform yang telah kita tentukan. Trik untuk menampilkan atau menyembunyikan Scrollbars sangat sederhana dan simple, akan tetapi penulis baru tahu trik ini beberapa bulan yang lalu. Scrollbars bisa kita temui pada sebuah form atau textbox. Berikut ini adalah gambar settingan Scrollbars yang bisa kita temukan pada menu Help VBA Access:
| Gambar Settingan Property Scrollbars |
Penjelasan dalam bahasa Indonesianya :
Neither (untuk Form) dan None (untuk Textbox) -> Code dalam VBA : 0
--> Untuk Textbox, settingan ini adalah defaultnya, dimana dengan settingan ini maka Scrollbars tidak ditampilkan.
Horizontal Only (hanya untuk Form) -> Code dalam VBA : 1
--> Scrollbar yang ditampilkan hanya scrollbar horizontal, Textbox tidak mendukung settingan ini.
Vertical Only (untuk Form) dan Vertical (untuk Textbox) -> Code dalam VBA : 2
--> Scrollbar yang ditampilkan hanya scrollbar vertical.
Both (hanya untuk Form) -> Code dalam VBA : 3
--> Untuk Form, settingan ini adalah defaultnya, dimana scrollbar vertical dan horizontal ditampilkan, Textbox tidak mendukung settingan ini.
Settingan diatas akan kita gunakan untuk mengontrol tampilnya scrollbars pada sebuah subform. Penulis akan mengambil contoh sebuah case berikut ini :
Misalnya, penulis telah membuat sebuah form yang akan dijadikan sebagai subform untuk form yang lainnya menggunakan Wizard dari access 2003, dan nama dari form tersebut adalah frmDetailData (dengan settingan Scroll Bars = Neither). Dan form tersebut (frmDetailData) lalu dimasukkan kedalam Form yang bernama frmLaporan sebagai subformnya, lalu diatur sedemikian rupa sehingga subform tersebut hanya bisa menampilkan 10 data/record (data ke sebelas dan seterusnya tersembunyi, sehingga untuk melihat data kesebelas dan seterusnya maka user harus melakukan scrolling kebawah pada subform tersebut). Dalam case ini berarti Scrollbars Vertical harus ditampilkan jika data/record dari frmDetailData adalah lebih dari 10 (sepuluh), jika data/recordnya hanya berjumlah 10 (sepuluh) atau kurang, maka scrollbar tidak ada yang ditampilkan. Sebelum penulis mengetahui trik yang simplenya, penulis menggunakan fungsi DCount dan code berikut ini kedalam Event On Current dari Form frmDetailData :
Private Sub Form_Current()
If DCount("id_number", "tblDetailTransaction", "[Transaction_Date]=#" & txtReportDate & "#") > 10 Then
Me.ScrollBars = 2
Else
Me.ScrollBars = 0
End If
End Sub
Penjelasan dari code diatas :
If DCount("id_number", "tblDetailTransaction", "[Transaction_Date]=#" & txtReportDate & "#") > 10 Then
--> Untuk mengetahui jumlah data dari field id_number dengan kriteria Transaction_Date adalah tanggal yang ditentukan pada textbox yang bernama txtReportDate dalam Form frmLaporan.
Ternyata setelah penulis berburu atau mencari-cari di internet ada cara yang lebih mudah dan lebih simple (penulis temukan di databasedev) yang jika diterapkan untuk aplikasi penulis akan seperti ini :
If DCount("id_number", "tblDetailTransaction", "[Transaction_Date]=#" & txtReportDate & "#") > 10 Then
--> Untuk mengetahui jumlah data dari field id_number dengan kriteria Transaction_Date adalah tanggal yang ditentukan pada textbox yang bernama txtReportDate dalam Form frmLaporan.
Me.ScrollBars = 2
--> Jika jumlah datanya adalah lebih dari 10, maka scrollbar vertical akan ditampilkan.
Me.ScrollBars = 0
--> Jika jumlah datanya adalah 10 atau kurang, maka tidak ada scrollbar yang ditampilkan.Ternyata setelah penulis berburu atau mencari-cari di internet ada cara yang lebih mudah dan lebih simple (penulis temukan di databasedev) yang jika diterapkan untuk aplikasi penulis akan seperti ini :
Private Sub Form_Current()
If Me.RecordsetClone.RecordCount > 10 Then
Me.ScrollBars = 2
Else
Me.ScrollBars = 0
End If
End Sub
If Me.RecordsetClone.RecordCount > 10 Then
Me.ScrollBars = 2
Else
Me.ScrollBars = 0
End If
End Sub
Penjelasan untuk code ini sama dengan penjelasan code sebelumnya.
Namun untuk aplikasi yang telah penulis buat sebelumnya, penulis tidak mengganti code yang telah penulis buat dengan code baru yang penulis dapatkan diatas. Salah satu alasan mengapa penulis tetap mempertahankan code yang lama, adalah karena code tersebut murni berasal dari ide penulis untuk diri penulis sendiri (walaupun mungkin banyak juga orang yang menggunakan code seperti code pertama penulis), yang dalam hal ini semakin menguatkan diri penulis untuk meyakini jika untuk menyelesaikan suatu case/masalah dalam pembuatan aplikasi, tidak melulu harus menggunakan code-code yang belum kita pahami, akan tetapi (mungkin) bisa juga dengan mengeksplorasi code-code atau fungsi-fungsi atau statemen-statemen yang telah kita ketahui.
Namun untuk aplikasi yang telah penulis buat sebelumnya, penulis tidak mengganti code yang telah penulis buat dengan code baru yang penulis dapatkan diatas. Salah satu alasan mengapa penulis tetap mempertahankan code yang lama, adalah karena code tersebut murni berasal dari ide penulis untuk diri penulis sendiri (walaupun mungkin banyak juga orang yang menggunakan code seperti code pertama penulis), yang dalam hal ini semakin menguatkan diri penulis untuk meyakini jika untuk menyelesaikan suatu case/masalah dalam pembuatan aplikasi, tidak melulu harus menggunakan code-code yang belum kita pahami, akan tetapi (mungkin) bisa juga dengan mengeksplorasi code-code atau fungsi-fungsi atau statemen-statemen yang telah kita ketahui.
Semoga Bermanfaat..


20.52
Gie Satria

0 comments:
Posting Komentar
No Sara, Violence, Porn, And Spamming Allowed