Membuat program Form Transaksi (Visual Basic + Mysql)

Materi 1. Membuat Program Aplikasi Penjualan Barang pada Visual Basic + Mysql
Ahmad Rizal Abidin, M.Kom
4checks.com-Free Shipping and Handling on All Personal Checks with code DWF008

  1. Mangaktifkan VB 6.0, dengan cara klik start, Klik Microsoft Visual Studio 6.0 dan klik Microsoft Visual Basic 6.0.
  2. Setelah tampil Windows Projects, Klik Cancel
  3. Klik menu file, Klik Open Project, bukalah project yang sudah dibuat pada matri 1. Membuat Menu dan Modul
  4. Setelah project terbuka, double klik frmtransaksi pada window project dan buatlah form sebagai berikut :

Gambar 1. Form Transaksi

Catatan :

Form tersebut teridiri dari objek-objek : textbox, datagrid, label, datacombo dan commandbutton serta Frame,

  1. Langkah selanjutnya membuat koding pada form load, yaitu dengan cara double klik form (pada gambar yang ada titiknya), setelah itu ketik koding berikut :
 
Private Sub Form_Load()
 konek
 konekdb.CursorLocation = adUseClient
 strsql = "select * from pelanggan"
 Set rs = konekdb.Execute(strsql)
 Set dckode.RowSource = rs
 dckode.ListField = "IdPelanggan"
 strsql = "select * from produk"
 Set rs = konekdb.Execute(strsql)
 Set DataCombo2.RowSource = rs
 DataCombo2.ListField = "idproduk"
End Sub

Setelah selesai mengetikkan koding tersebut ujilah form dengan cara klik menu run, klik start, tetapi pastikan database sudah terbuat, mysql sudah aktif dan jangan lupa dsnnyapun sudah dibuat baca tentang makalah basis data.

Catatan : setiap kali membuat koding pada suatu objek uji program tersebut, ini digunakan agar kita memahami apa yang telah kita buat.

  1. Membuat filter pada text1 (textboxnya idnota), dengan logika jika data sudah ada maka tampilkan datanya, tetapi jika belum kursor pindah ke textbox berikutnya, caranya adalah double klik textbox1, lalu tukar event dari change menjadi keypress. Ketikkan listing berikut :

 

Private Sub txtnota_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
strsql = "select * from trans where nota='" & txtnota.Text & "'"
Set rs = kondb.Execute(strsql)
If Not rs.EOF Then
    MsgBox "Nomor tersebut sudah ada"
Else
    dckode.SetFocus
End If
End If
End Sub
  1. Membuat koding pada datacombo IdPelanggan, double klik datacombo1 (tetap pada event change) lalu ketik listing program berikut :
Private Sub dckode_Change()
strsql = "select * from pelanggan where idpelanggan = '" + dckode.Text + "'"
Set rs = kondb.Execute(strsql)
If Not rs.EOF Then
    txtnama.Text = rs!NMPelanggan
    txtalamat.Text = rs!almpelanggan
Else
    MsgBox "Data tersebut tidak ditemukan"
End If
End Sub
  1. Membuat koding pada datacombo2 (kode Produk), double klik datacombo2 (tetap pada event change) lalu ketik listing program berikut :
Private Sub DataCombo2_Change()
strsql = "select * from produk where idproduk ='" + DataCombo2.Text + "'"
Set rs = kondb.Execute(strsql)
If Not rs.EOF Then
    txtnmbar.Text = rs!NmProduk
    txtharga.Text = rs!harga
    txtstock.Text = rs!stock
          txtbeli.SetFocus
Else
    txtnmbar.Text = ""
    txtharga.Text = ""
    txtstock.Text = ""
    DataCombo2.SetFocus
End If
End Sub
  1. Membuat koding pada textbox (qty) double klik textbox tersebut, lalu ketik listing berikut:
Private Sub txtbeli_Change()
If txtbeli <> "" Then
    If CInt(txtbeli.Text) <= CInt(txtstock.Text) Then
        txtjumharga.Text = txtharga.Text * txtbeli.Text
 cmdsimpan.setfocus
    Else
        MsgBox "Stock tidak mencukupi"
    End If
End If
End Sub
  1. Membuat koding pada tombol simpan, double klick pada tombol Simpan lalu ketikkan listing berikut :

 

Private Sub Cmdsimpan_Click()
strsql = "insert into trans (nota,idpelanggan,tglnota) values ('" + txt_id + "','" + txtidpelanggan + "','" + tanggal + "')"
Set rs = kondb.Execute(strsql)
strsql = "insert into detail(nota,idproduk,jumlah,harga_beli) values ('" + txt_id + "','" + txtidproduk+ "','" + jumlah + "',’”+ harga beli+”’)"
Set rs = kondb.Execute(strsql)
End Sub
  1. Tambahakan satu sub untuk mendefinisikan koding berikut :

 

Sub tampilkan()
 strsql = "SELECT produk.idproduk, produk.nmproduk, detail.jumlah as Qty, " & _
 " detail.harga_beli as Harga, (detail.jumlah * harga_beli) as JumlahHarga " & _
 " FROM detail,produk,trans" & _
 " Where produk.idproduk = detail.idproduk " & _
 " And detail.nota = trans.nota and trans.nota ='" + txtnota.Text + "'"
 Set rs = kondb.Execute(strsql)
 If rs.RecordCount <> 0 Then
    rs.MoveFirst
    While Not rs.EOF
   totharga = totharga + (rs!JUMLAHharga)
    rs.MoveNext
 Wend
 End If
 Text1.Text = Format(totharga, "Rp###,###,###") & ",-"
End Sub

@Ahmad
Selamat mencoba…

Related Post:

Materi 1. Membuat Program Aplikasi Penjualan Barang pada VB dengan Mysql “Membut Menu dan Modul”

Materi 2. Membuat Form Kategori dgn Visual Basic 6.0 + Mysql

Materi 3. Membuat program Form Produk (VB + Mysql)

Materi 4. Membuat program Form Transaksi (Visual Basic + Mysql)

Materi 5. Membuat Program Aplikasi Penjualan Barang pada Visual Basic 6.0 dengan Mysql : Membuat Nomor Nota Otomatis pada Visual Basic

Materi 6. Membuat laporan dengan Crystal Report

About these ads

16 Responses

  1. pak mohon bimbingannya pak saya akan membuat laporan tunggakan retribusi dinas pasar,,, berikut tabel pada database yang saya punya
    tabel pasar
    kd_pasar(varchar 5)
    nm_pasar(varchar 30)
    wilayah(varchar 15)
    tipe_pasar(varchar 5)

    tabel pemakai
    id_pemakai(varchar 5)
    alamat(varchar 45)
    no_telp(varchar 15)
    Jenis_usaha(varchar 35)
    kd_pasar(varchar 5)
    jns_ret(varchar 15)
    jns_bayar(varchar 15)
    tarif(integer 11)

    tabel rpendapatan
    kd_ret(varchar 5)
    kd_pasar(varchar 5)
    tgl_pendapatan(date)
    total(double)
    sisa_tagihan(doubel)

    tabel retribusi
    kd_ret(varchar 5)
    kd_pasar(varchar 5)
    id_pemakai(varchar 5)
    tgl_ret(date)
    tgl_tempo(date)
    ket(varchar 8)

    saya ingin membuat laporan tunggakan berdasarkan selisih tgl_tempo dgn tgl_pendapatan * tarif yang ingin saya tanyakan gimana cara membuat formula field pada crystal report untuk menyelesaikan kasus ini atau membuat query pada mysql untuk mencari tunggakan
    ini Query yang saya buat
    CREATE VIEW tunggakan AS
    SELECT pemakai.id_pemakai, pemakai.nama, pemakai.alamat, pemakai.jns_bayar,
    retribusi.kd_ret, retribusi.tgl_tempo, pendapatan.tgl_pendapatan as tgl_bayar,
    pemakai.tarif,
    datediff(pendapatan.tgl_pendapatan,retribusi.tgl_tempo)* pemakai.tarif as tunggakan
    FROM pemakai right join retribusi on retribusi.id_pemakai = pemakai.id_pemakai right join
    pendapatan on pendapatan.kd_ret = pendapatan.kd_ret
    Tetapi hanya bisa menghasilkan tunggakan harian

    • trs… yang akan dicari apanya… :
      select datediff(date1,date2) * tarif from table;
      perintah ini akan memproses seluruh data yang ada pada table, jika ingin menampilkan pada bulan tertentu tambahkan aja :
      select datediff(date1,date2) * tarif from table where month(date2)=’1′;
      berarti data akan ditampilkan pada bulan januari sesuai dengan tanggal tempo,
      ’1′ bisa diganti dengan textbox…
      tapi dari kasus diatas akan menjadi masalah bila date1 lebih besar dari date2, maka akan menghasilkan selisih negatif…

  2. Oya Pak Terima kasih Sebelumnya Dan maaf kalau pertanyaannya terlalu panjang, saya sangat kebingungan untuk menyelesaikan TA ini

  3. Terima Kasih pak Ahmad, sangat Membantu dalam pembuatan Tugas Akhir saya … :)

  4. Pak maaf ni nmpang tanya …
    ceritanya saya ni lagi Kerja praktek dan kebetulan judulnya “Implementasi Sistem Pengolahan Data Pelanggan” maklum baru nyoba dan masih kebingungan ni buat programnya barangkali ada masukan sebagai referensi untuk kelancaran tugas ini…

  5. pak saya sedang membuat program data mahasiswa,,
    dalam form add mahasiswa, saya ingin ada fasilitas tambah,hapus,edit,setelah kita memasukan data mahasiswa lalu klik tombol ‘tambah’ maka saya ingin data tersebut tampil di data grid yang ada di bawah menu tambah.
    kemudian untuk edit dan hapus, tinggal sorot data mahasiswa yg ada di datagrid, lalu tekan hapus..
    gimana caranya ya??
    terima kasih

    • Untuk menghapus data pada tabel datagrid dapat digunakan perintah berikut :

      Private Sub Cmd_Hapus_Click()
      Dim Hapusdatagrid
      
      Hapusdatagrid = MsgBox("Apakah Anda ingin menghapus record", vbYesNo)
      
      If Hapusdatagrid = vbYes Then
      strsql = "delete from kategori where Idkategori = '" + DataGrid1.Columns(0).Value + "'"
      Set rs = kondb.Execute(strsql)
      kondb.CursorLocation = adUseClient
      strsql = "select * from kategori"
      Set rs = kondb.Execute(strsql)
      Set DataGrid1.DataSource = rs
      End If
      End Sub
      
      
  6. pak… mau nanya nih. klo untuk pencarian data di vb, contoh: apabila mau mencari berdasarkan alamat dari tabel mahasiswa. di dlm form ada text untuk pencarian dan grid untuk menampilkan data yg di cari, nah yg jd pertanyaan.. jika di text baru di ketik a, maka di grid akan lgsg tampil alamat2 yang mengandung huruf a, trs di lanjutkan jd an, maka di grid lgsg tampil alamt2 yg mengandung huruf an dan selanjutnya.. mohon scriptnya terima kasih untuk segala bantuanya.

    • Private Sub Text1_Change()
      strsql = “Select * from mahasiswa where almmhs like’%” + Text1.Text + “%’”
      Set rs = kondb.Execute(strsql)
      If Not rs.EOF Then
      Set DataGrid1.DataSource = rs
      End If
      End Sub

  7. pak mo nnya. sy sdg mmbuat program tntang pembayaran sekolah… listing jika sy mo input Nis kmudian tmpil nm scra otomatis gmn cra’na y? sy pke datagrid dan udh nyoba pkai listing

    Private Sub txtNIS_Change()
    strsql = “select * from Kelas where Nis = ‘” + txtNIS.Text + “‘”
    If Not rsKelas.EOF Then
    txtnama.Text = rsKelas!Nama_Siswa

    Else
    MsgBox “Data tersebut tidak ditemukan”
    End If
    End Sub

    tp msh debug d’ if not rskelas. eof then
    itu knp y?!!!

  8. pak tolong dibahas tentang pemakaian relationship pada vb

  9. nanya donk,saya bikin vb buat input secara otomatis jika ingin save 2 from dalam satu tabel,gimana y mas, dilisting output saya cari pasti debuk,gimana solusiny?

  10. Pak, program transaksi ini hanya bisa digunakan untuk satu barang saja yha pada satu nota?
    Tidak bisa dua barang dalam satu nota?

  11. Pak,, saya mau bikin aplikasi pengolahan data retribusi pasar, apa saja tabel2 yang dibutuhkan beserta field2nya? trms..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: