Belajar Visual Basic 26. Kode program untuk Entri Barang: Pencarian dengan txtkode
frmBarang |
Sebelum pengguna melakukan simpan tentunya terlebih dahulu melakukan input data. Setiap data yang diinputkan, sebagaimana telah dijelaskan sebelumnya bisa diwakili oleh sebuah field saja. Yakni field kode, jika kode yang diinputkan seharusnya si pengguna sudah diberitahu bahwa kode itu telah pernah diinputkan atau belum. Kita dapat menambahkan beberapa perintah pada event txtkode_change.
Event change pada txtkode adalah saat si pengguna mengubah isi txtkode di form. Mengubah berarti menambahkan huruf atau bisa juga menghilangkan huruf. Setiap terjadi perubahan huruf maka event ini akan terjadi. Jadi bisa kita asumsikan begini, setiap si pengguna mengetikkan huruf, kita periksa isi txtkode yang ada sekarang, apakah kode tersebut sudah ada dalam tabel tbbarang?, jika belum maka field-field yang lain harus kita kosongkan.
Untuk menandakan bahwa belum ada field yang sesuai dengan kode tersebut. Jika ternyata kode tersebut sudah ada dalam tbbarang. Maka field lain yang berhubungan dengan tabel tersebut harus kita munculkan. Agar si pengguna menyadari bahwa dia sekarang bukan sedang mengentrikan data yang baru lagi. Prosedur ini sangat berguna bagi si pengguna yang ingin mengedit sebuah record tertentu.
- Double click pada txtkode
Langkah ini dilakukan untuk mengaktifkan event default pada textbox yakni event change.
- Pada event txtkode_change, tambahkan teks sebagai berikut:
Dim dbBarang As DatabaseDim rsBarang As RecordsetSet dbBarang = OpenDatabase(App.Path & "\inventori.mdb")Set rsBarang = dbBarang.OpenRecordset("tbbarang")If txtKode.Text = "" ThencmdBersih_ClickExit subEnd IfrsBarang.Index = "idxkode"rsBarang.Seek "=", txtKode.TextIf Not rsBarang.NoMatch ThentxtNama.Text = rsBarang!namacboSatuan.Text = rsBarang!satuantxtHarga.Text = rsBarang!hargatxtStok.Text = rsBarang!stokElsecmdBersih_ClickEnd If
Penjelasan:
If txtKode.Text = "" ThencmdBersih_ClickExit subEnd If
Pertama-tama kita harus memeriksa apakah txtkode sudah diisi oleh sipengguna atau belum. Jika ternyata belum diisi, kita harus mengosongkan form dengan memanggil event cmdBersih_click. Dan kemudian keluar dari event ini. Jika ternyata txtkode sudah terisi, kita lanjutkan ke perintah berikut:
If Not rsBarang.NoMatch ThentxtNama.Text = rsBarang!namacboSatuan.Text = rsBarang!satuantxtHarga.Text = rsBarang!hargatxtStok.Text = rsBarang!stokElsecmdBersih_ClickEnd If
Baris pertama akan memeriksa apakah isi dari txtkode sudah ada dalam database atau belum. Jika ternyata not rsBarang.Nomatch (nomatch=tidak ketemu, not nomatch berarti ketemu), maka tampilkan isi dari rsBarang ke dalam form.
Perintah berikut txtNama.text=rsBarang!nama, artinya mengisi txtnama dengan isian field nama dari tabel tbarang. Begitu seterusnya dengan cbosatuan, txtharga, dan txtstok.
Jika ternyata txtkode yang dicari tidak ada dalam tbbarang, maka jalankan perintah untuk membersihkan formnya. Jadi prinsip utama, jika kode sudah ada: tampilkan, jika kode belum ada? Kosongkan form!
Perintah berikut txtNama.text=rsBarang!nama, artinya mengisi txtnama dengan isian field nama dari tabel tbarang. Begitu seterusnya dengan cbosatuan, txtharga, dan txtstok.
Jika ternyata txtkode yang dicari tidak ada dalam tbbarang, maka jalankan perintah untuk membersihkan formnya. Jadi prinsip utama, jika kode sudah ada: tampilkan, jika kode belum ada? Kosongkan form!
makasih tutornya.. sangat membantu saya
BalasHapusmas saya sudah mencoba tp mengapa tidak ada .Seek dan .Index ? terima kasih
BalasHapusmungkin DAOnya belum terinclude dalam project, coba perhatikan tutorial belajar visual basic 26. Mudah2an membantu
BalasHapusgan ada aplikasi program sistem informasi pengolah nilai siswa. yang nantinya guru tinggal masukin nilai-nilainya, nanti keluarannya laporan dari nilai-nilai itu..
BalasHapuskirimin ya gan ke: uky_cangen4@yahoo.com
maklum newbie terimakasih sebelumnya gan..