Selasa, 20 Desember 2011

Filter ComboBox Dan ListBox

MEMFILTER COMBO BOX BERDASARKAN COMBO BOX LAINNYA

Ada berbagai macam cara untuk memfilter Row Source sebuah ComboBox atau ListBox, dari yang ngejelimetin (Hard Coding) sampai yang simpel sesimpel-simpelnya. Penulis telah menemukan berbagai macam cara untuk memfilter combobox/listbox melalui searching di internet, namun semua cara atau teknik tersebut memilik satu kesamaan, yaitu hasilnya sama saja, hanya bahasa dan tekniknya saja yang berbeda, dari yang menggunakan Module, Macro ataupun yang lainnya. Dan memang penulis akui bahwa ada cara untuk memfilter ComboBox/ListBox yang bisa digunakan secara global, dalam arti kita bisa menggunakan cara tersebut untuk semua ComboBox/ListBox yang terdapat dalam aplikasi kita.
Karena kita masih dalam tahap belajar, maka kita akan gunakan yang simpel-simpel aja, biar gak terlalu pusing sama code-code :). Lagipula dalam tahap belajar sudah tentu dan pasti kita akan diberikan hal-hal yang mudah terlebih dahulu bukan ?, masa baru tahap awal belajar sudah dikasih yang sulit, kan bisa bikin pusing tujuh keliling.
Untuk memfilter ComboBox/ListBox berdasarkan ComboBox/ListBox Lainnya, yang harus dipenuhi adalah ComboBox/ListBox yang akan difilter datanya harus memiliki Field yang value/nilainya adalah value/nilai dari ComboBox/Listbox yang menjadi acuan filternya.
Misalnya jika kita ingin memfilter ComboBox/ListBox yang memiliki Rowsource dari Tabel tblUser dengan ComboBox/listBox yang RowSource-nya berdasarkan tblLevelUser, maka dalam tblUser harus ada Field yang datanya berisi data Field dari tblLevelUser. Karena (khususnya dalam artikel ini) ComboBox/Listbox yang akan difilter datanya baru akan bisa difilter jika kriterianya adalah salah satu atau lebih dari field yang ada dalam table yang menjadi Row Sourcenya.
Contohnya :
Private Sub ComboBox1_AfterUpdate()
Dim strNamaUser As String
strNamaUser = "SELECT tblUser.NamaUser, tblUser.Password, tblUser.StatusUser," & _
"tblUser.UserLevel, tblUser.LoginTerakhir FROM tblUser WHERE" & _
"(((tblUser.UserLevel)=[Forms]![Nama Form]![ComboBox1])) & _
" ORDER BY tblUser.NamaUser;"
Me.ComboBox2.RowSource = strNamaUser
Me.ComboBox2.Requery
End Sub

Dari Code diatas, ComboBox2 akan terfilter menjadi hanya Nama User yang field UserLevel-nya adalah value/nilai dari ComboBox1.

Contoh lain cara memfilter List Box berdasarkan Combo Box bisa didownload dari 4shared

Semoga Bermanfaat...

0 comments:

Posting Komentar

No Sara, Violence, Porn, And Spamming Allowed

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Laundry Detergent Coupons