Kali ini kita akan membuat tombol Cari Data dari Database dan kemudian ditampilkan ke Textbox, Untuk itu lihat artikel sebelumnya, Cara manpilkan Database ke Textbox VB6. pastikan juga anda telah membuat koneksi database, Cara membuat koneksi Database ke VB6. ini dia design saya sebelumnya :
Buat tombol Cari, dan beri nama cmdCari, ini dia contoh kode :
Private Sub cmdCari_Click()
Dim Mcari As String 'deklarasi Variable u/ tampung Nilai
Mcari = InputBox("Ketik Kode Barang", "Cari")
If StrPtr(Mcari) = 0 Then
'Kode InputBox Cancel
'MsgBox "You pressed cancel!"
ElseIf Len(Mcari) = 0 Then
'Kode InputBox OK tapi diisi Kosong
MsgBox "Anda Harus Mengisi Kode Barang.", vbInformation, "Cari"
cmdCari_Click
Else
'cari data ditabel barang
RsBarang.Find "KodeBrg='" & Mcari & "'", , adSearchForward, 1
'jika g ada tampilkan textbox
If RsBarang.EOF Then
MsgBox "Data tidak ditemukan" & (Chr(10)) & "Silahkan Coba Lagi!!", vbInformation, "Cari"
RsBarang.Requery 'refresh data
cmdCari_Click
End If
Call tampil
End If
End Sub
Sedikit penjelasan : kode ini ditulis didalam control tombol, Pertama deklarasikan variable untuk manampung nilai dari inputbox, kita menggunakan Inputbox untuk pencarian nilai. kemudian Mcari diisi dengan InputBox. perhatikan fungsi If jangan sampai salah memberi tutup end if, atau meletakan kode didalam if. if pertama StrPtr(Mcari) kode setelah then ditulis jika kita menekan Tombol Cancel pada InputBox, kemudian elseIf Len(Mcari) kode jika kita menekan tombol Ok pada Textbox Tapi nilai atau Inputbox tidak diisi. dan pada else itu kode jika kita ingin menampikan atau menggunakan nilai Inputbox.
kode Cari data database atau cari data di tabel, tapi pastikan recordset terbuka Pada formload, Recordset ini saya biarkan terbuka selama program berjalan, RsBarang.Find , digunakan untuk mencari data di tabel recorset, "kodebrg" nama Field yg akan dicari Mcari adalah variable inputbox. selanjutnya terdapat If lagi, Jika Data yang dicari atau Mcari tidak ditemukan pada database, If RsBarang.EOF, Jika tidak ada, maka Tampilkan Pesan Data Tidak Ditemukan, Setelah End If anda bisa memanggil Procedure Tampilkan data ke TextBox, Lihat Cara Menampilkan Database ke TextBox VB6. Selesai
Tutorial Selanjutnya Cara Membuat Tombol Hapus Database VB6.
Tutorial Selanjutnya Cara Membuat Tombol Hapus Database VB6.
mohon maaf jika terdapat kesaahan, Semoga Infonya Bermanfaat;
Terima kasih, Telah Berkunjung.!!
mas ko terjadi error pada saat call tampil??
ReplyDeletecall tampil berarti memanggil Procedure tampil. silahkan buat dulu procedure tampilnya. silahkan coba : Cara Menampilkan Database ke TextBox. Semoga berhasil.
ReplyDeleteaku tdk mengerti..
ReplyDeletebisa d jelaskan lgi,,
kamu tidak mengertinya dimananya??
ReplyDeletekode ini :
RsBarang.Find "KodeBrg='" & Mcari & "'", , adSearchForward, 1
RsBarang adalah nama Recordset, kenapa menggunakan RsBarang.Find? itu digunakan untuk mencari data pada recordset. Recordset RsBarang saya biarkan Tetap terbuka dan sudah diisi dengan data dari database.
saya isi(buka) RsBarang pada formLoad :
RsBarang.Open "Select * from Barang", cn, adOpenDynamic, adLockOptimistic
itu adalah kode untuk mengisi recordset RsBarang dengan Perintah Select all dari tabel Barang..
Selanjutnya KodeBrg= mcari maksudnya data yang dicari itu yang memiliki kode apa? Mcari adalah data yang kita input pada inputBox.
untuk lebih jelasnya silah lihat tutorial lainya mulai dari cara membuat koneksi menampilkan Textbox dll. . semoga membantu..
bang achul..kalo misalkan cari data nya pengen berdasarkan data yang kurang atau yang lebih dari nominal tertentu kayak gimana ?
ReplyDeletemisal di listview ada data
1-50
nah pas kita ketik di textfiled angka 5 maka yang tampil di list view hanya 1-4..
Hi Gery!!
ReplyDeleteKamu ingin Menampilkan data pada listviev jumlahnya berdasarkan kurang dari data yang diketik ditextbox??
Coba buat Textbox Tcari
contoh :
Private Sub TCari_Change()
Dim Mcari As String
'validasi Panjang char
If Len(TCari.Text) > 9 Then
TCari.Text = ""
Exit Sub
End If
'apabila Textbox Kosong
If Me.TCari.Text = "" Then
rs.Open "Select * from contoh Order By Kode", cn
Call TampilGrd
Set rs = Nothing
Exit Sub
End If
'Kode Cari
Mcari = "SELECT * FROM contoh Where Kode < " _
& CLng(TCari.Text) & ""
rs.Open Mcari, cn
Call TampilGrd
Set rs = Nothing
End Sub
call TampilGrd adalah Procedure untuk menampilkan data pada Listview. Dan TextBox Hanya bisa diisi dengan Angka, agar tidak error anda bisa buat kodenya hanya angka di keypress.
contoh tabel saya diatas :
kode Nama
1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
9 I
10 J
11 K
12 L
13 M
apabila di ketik 5 maka yang muncul hanya data dari 1 sampai 4. silahkan coba Download source yg saya buat berdasarkan contoh datas Contoh Source
Semoga membantu!!
terimakasih mas, tutorial nya berhasil ^_^
ReplyDeletecara mengetahui nama recordsetnya itu bagaimana?
ReplyDeletetanya donk,, ini pake database apa ya gan?
ReplyDeletesaya png tau yg pake database sql..
makasih... :)
maaf bru reply, tutorial disini menggunakan database sql server 2000
Deleteagan..agan..klw mau menampilkan data yg udh disimpan di datagrid tapi hanya memanggil data tertentu dengan tombol cari gimna ya gan??
ReplyDeletemisal nya:
1.1/a
1/b
1/c
2.2/a
2/b
2/c
trus klw kita clik di tombol command pencarian misal nya "1" maka yang muncul di data grid dari 1/a sampai 1/c ....
gimana ya gan membuat coding nya ... tetapi dengan 2 data grid dan di form yg berbeda... mohon bantuan nya ya gan ... kirim di arlensiusdenymanalu@gmail.com
menurut saya, jika data yang dicari isinya seperti diatas dan ingin mennampilkan data sesuai angkanya saja, tinggal rubah saja query select saat mencari data.
Deletemisalkan saya memiliki filed namanya kode, isinya 1a,1b,1c,2a,2b
kemudian jika ingin menampilakan yang depannya angka satu saja maka query sqlnya
SELECT * FROM `tabel` WHERE left(kode,1)=1
maka yang akan tampil dari demua data dng kode yg depannya 1
kira2 begitu!!
maaf saya tidak bisa memberi contoh kode VB nya, karena saat ini saya sedang tidak menggunakan vb
Terima Kasih, Sangat Bermanfaat. Bisa Di Aplikasikan Di Berbagai Tipe Database ;)
ReplyDeleteRsBarang saya rubah dengan nama tabel pada database bisa tidak? dan Mcari saya ganti dengan nama field yang ada di tabel, maaf saya masih awan jadi kurang ngerti dan saya lagi belajar tolong bantuannya ya
ReplyDeletegan tadi saya edit dan hasilnya debug disini " ank1.Find "NIM='" & Nama & "'", , adSearchForward, 1 " jadi yang salah apanya ya ?
ReplyDeleteHi,
Deletesudah lama saya tidak update, saat ini saya sudah tidak menggunakan vb.
RsBarang bisa saja dirubah dg nama apa saja, itu hanyalah variable untuk sebuah recordset yang berisi data dari database, begitu juga dengan Mcari, hanyalah variable untuk menampung data yg akan dicari.
kemungkinan debug pd problem diatas ada pada recordset ank1.
setiap pembuatan recordset, harus ada deklasrasi variable recordset.
'ini sample deklarasi variable u/ recordset
Dim RsBarang As New ADODB.Recordset
u/ selanjutnya Recordset bisa diisi data dari database
'ini sample pengisian recodset
RsBarang.Open "Select * from Barang", cn, adOpenDynamic, adLockOptimistic
u/ selanjutnya anda bisa mencari data yg ada di recordset
untuk lebih jelasnya silahkan lihat tutorial yg lainya tentang cara membuat koneksi dan menampilkan data pada database di vb6
Terima kasih,
maaf kurang bisa membantu. ^_^)
kalo buat untk agar huruf dan angka di input box itu besar(kapita) dan input maxlenghtny 6 penempatannya gimana ya gan?terimakasih
ReplyDeletekak mau tanya kalo saya bikin data grid terus dari data grid itu saya mau buat tombol cari dari data grid tadi bisa nggak ya? kalo bisa bisa tolong di kasih scripnya hehehe. mksih
ReplyDeleteCoba lihat saja source code Latihan Inventory dari semua tutorial yg ada disini
Deletemas,,, numpang nanya...
ReplyDeletekalo buat filter data,,, seumpama ada data di bulan januari mpe desember,, terus saya mau nampilin data yang februari sampe maret,, gmana ya mas kodingnya,,, mohon bantu pencerahannya,, hehe
jika ingin hasil cari dengan range data tinggal rubah ajh
DeleteRsBarang.Find "KodeBrg='" & Mcari & "'", , adSearchForward, 1
--> "KodeBrg='" & Mcari & "'" <-- dengan kriteria yg diinginkan.
misal "Bulan>" & range1 " AND " & "Bulan<" & range2.
ingat rs.find bisa digunakan jika recordset sudah diisi dengan data dari rs.open
Makasih mas...sangat membantu & mudah di pahami...
ReplyDeletemau tanya masih dijawab kan yaa ...
ReplyDeletedi contoh itu kan kita cuma mau cari satu jenis recordset yaitu "kode barang".
nah kalo kita mau buat di pencarian itu salah satu dari "kode barang atau harga barang" gimana ya sourcenya?
initinya ada di query pencarian recordset, rsbarang find, disitu isikan kriterianya sesuai dengan apa yg kita butuhkan,
Deleteberarti where kodebarang or hargabarang sesuai data yg diinginkan