Pernah membuat program visual basic dengan entry data 1-100?. Kalo misalkan kamu mau mencari entry data yang dituju, misalkan 99 atas nama "jae", sudah pasti bakalan cape melihat sepenuhnya form untuk entry data satu persatu.
ini contoh program vb sederhana tanpa menggunakan database terkoneksi. jadi input data masih sepenuhnya didalam form.
pusing sih bakalan, kalo data entry lebih dari 100 harus diketikan diform. tapi ada kemudahan yang didapatkan.
desain form seperti di samping ini.
adapun didalam form terdapat:
- bagian atas terdapat textbox dengan name "txtfind"
- bagian bawahnya terdapat listbox dengan name "list1"
- bagian "select" dibuat dengan name "commandbutton1"
berikut listing code dan penjelasannya:
'--------------------------------------------------------------------------------------------
Option Explicit
Private Declare Function SendMessageByString _
Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As String) _
As Long
Private Const LB_SELECTSTRING = &H18C
'--------------------------------------------------------------------------------------------
Private Sub Form_Load()
' pada pilihan additem, digunakan untuk membuat record pada list dengan tampilan nama
' menggunakan itemdata. didalam pilihan, kamu dapat melakukan looping nick
'--------------------------------------------------------------------------------------------
List1.AddItem "ahmad, Jaelani"
List1.ItemData(List1.NewIndex) = 1234
List1.AddItem "amma, cute"
List1.ItemData(List1.NewIndex) = 8393
List1.AddItem "brontox, capedeh"
List1.ItemData(List1.NewIndex) = 6564
List1.AddItem "opo yooo, betty"
List1.ItemData(List1.NewIndex) = 9303
List1.AddItem "visualbasic, tutor"
List1.ItemData(List1.NewIndex) = 8295
List1.AddItem "do, on"
List1.ItemData(List1.NewIndex) = 7272
List1.AddItem "warung, rumpi"
List1.ItemData(List1.NewIndex) = 8292
List1.AddItem "manga, saya"
List1.ItemData(List1.NewIndex) = 8111
List1.AddItem "chesita, doon"
List1.ItemData(List1.NewIndex) = 4564
List1.AddItem "bill, gates"
List1.ItemData(List1.NewIndex) = 8023
End Sub
'--------------------------------------------------------------------------------------------
'pada textbox digunakan selectstring untuk pencarian entry sesuai input yang diketikkan
Private Sub txtFind_Change()
Dim lngEntryNum As Long
Dim strTextToFind As String
strTextToFind = txtFind.Text
lngEntryNum = SendMessageByString(List1.hwnd, _
LB_SELECTSTRING, _
0, _
strTextToFind)
End Sub
'--------------------------------------------------------------------------------------------
Private Sub Command1_Click()
'setelah hasil didapatkan maka si lisbox akan menyamakan hasil pencarian yang telah dilakukan ke texbox
txtFind.Text = List1.Text
' setelahnya akan memuncul msgbox dengan struktur seperti hasil yang didapatkan
MsgBox "kamu pilih " _
& txtFind.Text _
& vbNewLine _
& "nim = " _
& List1.ItemData(List1.ListIndex)
End Sub
'--------------------------------------------------------------------------------------------