Diberdayakan oleh Blogger.

Minggu, 10 Juli 2011

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 Database
    Dim rsBarang As Recordset
     Set dbBarang = OpenDatabase(App.Path & "\inventori.mdb")
    Set rsBarang = dbBarang.OpenRecordset("tbbarang")
     If txtKode.Text = "" Then
          cmdBersih_Click
Exit sub
     End If
    rsBarang.Index = "idxkode"
    rsBarang.Seek "=", txtKode.Text
    If Not rsBarang.NoMatch Then
          txtNama.Text = rsBarang!nama
          cboSatuan.Text = rsBarang!satuan
          txtHarga.Text = rsBarang!harga
          txtStok.Text = rsBarang!stok
        Else
              cmdBersih_Click
    End If
 Penjelasan:
If txtKode.Text = "" Then
     cmdBersih_Click
       Exit sub
  End 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 Then
          txtNama.Text = rsBarang!nama
          cboSatuan.Text = rsBarang!satuan
          txtHarga.Text = rsBarang!harga
          txtStok.Text = rsBarang!stok
        Else
              cmdBersih_Click
    End 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!





4 komentar:

  1. makasih tutornya.. sangat membantu saya

    BalasHapus
  2. mas saya sudah mencoba tp mengapa tidak ada .Seek dan .Index ? terima kasih

    BalasHapus
  3. mungkin DAOnya belum terinclude dalam project, coba perhatikan tutorial belajar visual basic 26. Mudah2an membantu

    BalasHapus
  4. gan ada aplikasi program sistem informasi pengolah nilai siswa. yang nantinya guru tinggal masukin nilai-nilainya, nanti keluarannya laporan dari nilai-nilai itu..
    kirimin ya gan ke: uky_cangen4@yahoo.com
    maklum newbie terimakasih sebelumnya gan..

    BalasHapus