Ticker

6/recent/ticker-posts

Membuat Laporan Penjualan Per Periode VB 6 dengan Database MySQL

Hallo sahabat howeby, pada kesempatan kali kita akan membuat sebuah laporan penjualan per periode tertentu di VB 6 dengan menggunakan MySQL sebagai databasenya.

Desain Form Laporan

Buatlah sebuah form baru, lalu simpan dengan nama frmlapjual.  Tambahkan beberapa komponen seperti tiga buah Label,dua buah  Dtpicker, dan dua buah CommandButton dan 1 buah frame.

Gambar 1. Desain Form Laporan
Agar lebih mudah dalam mencari maupun mengganti tanggal, kita menggunakan komponen DTpicker.
Gambar 2. Letak komponen DTPicker
Konfigurasi laporan penjualan:
KomponenPropertiNilai
FormNamefrmlapjual
FrameCaption
Label 1CaptionLaporan Jual Per Tanggal
Label 2CaptionPeriode
DTPickerNameDttgldari
Label 3Captions/d
DTPickerNameDttglsampai
Command Button 1Namecmdtampil
Command Button 2Namecmdcetak

Melakukan Koding

Masuklah pada halaman kode program, buat deklarasi seperti berikut: 

Option Explicit
Dim k As Integer
Dim j As Integer
Dim i As Integer
Dim isi As String

Pada event Form_load (saat program dijalankan). Buka database dan atur tanggal standar pada DtPicker.


Private Sub Form_Load()
Call BukaDatabase
'buka koneksi ke database
End Sub

Saat program dijalankan, kita mengklik tombol Tampil maka akan ditampilkan hasil laporan ke bentuk report ( Data Report). Berikut kode programnya:


Private Sub cmdtampil_Click()
Dim total As Integer
'Set Rs = New ADODB.Recordset
    Set Rs = konekdb.Execute("SHAPE {SELECT no_nota,tgl_nota from penjualan where tgl_nota BETWEEN '" & Format(DTtgldari.Value, "YYYY-mm-dd") & "' and '" & Format(DTtglsampai.Value, "YYYY-mm-dd") & "'} " _
    & "APPEND ({SELECT a.id_trx, a.kdbarang, b.nmbarang, a.jumlah, a.satuan, a.subtotal from temp_barang a, barang b where a.kdbarang =b.kdbarang} " _
    & "AS detil " _
    & "RELATE no_nota TO id_trx)")
        If Rs.BOF Then
        MsgBox "Tidak Terjadi Pembelian di periode Yang dipilih", vbInformation, "info"
        Else
        Call Tampillaporan
        rptjualgolongan.Show 1
        End If
End Sub

Tombol Cetak, kita gunakan untuk mencetak laporan ke printer secara langsung tanpa harus menampilkannya ke bentuk report.


Private Sub cmdcetak_Click()
Dim total As Integer
'Set Rs = New ADODB.Recordset
    Set Rs = konekdb.Execute("SHAPE {SELECT no_nota,tgl_nota from penjualan where tgl_nota BETWEEN '" & Format(DTtgldari.Value, "YYYY-mm-dd") & "' and '" & Format(DTtglsampai.Value, "YYYY-mm-dd") & "'} " _
    & "APPEND ({SELECT a.id_trx, a.kdbarang, b.nmbarang, a.jumlah, a.satuan, a.subtotal from temp_barang a, barang b where a.kdbarang =b.kdbarang} " _
    & "AS detil " _
    & "RELATE no_nota TO id_trx)")
        If Rs.BOF Then
        MsgBox "Tidak Terjadi Pembelian di periode Yang dipilih", vbInformation, "info"
        Else
        Call Tampillaporan
        rptjualgolongan.PrintReport True
        End If
End Sub

Kode program berikut adalah prosedur yang dipanggil pada tombol Cetak dan Tampil diatas, yaitu program untuk mengambil data penjualan sesuai dengan tanggal yang dipilih, lalu menampilkan dalam bentuk report (Data Report).


Sub Tampillaporan()
If Rs.BOF Then
   MsgBox "Data Tidak Tersedia.", vbInformation + vbOKOnly, "informasi"
Else
   With rptjualgolongan
   Set .DataSource = Nothing
   .DataMember = ""
    Set .DataSource = Rs
      
    .Sections("Section4").Controls("lbltgldari"). _
    Caption = Format(DTtgldari.Value, "dd-mm-YYYY")
     .Sections("Section4").Controls("lbltglsampai"). _
    Caption = Format(DTtglsampai, "dd-mm-YYYY")
    .LeftMargin = 100
    .RightMargin = 100
    .WindowState = 2
   End With
End If
End Sub

Catatan:
Kunci untuk menampilkan periode tanggal yaitu pada cuplikan kode 
 .Sections("Section4").Controls("lbltgldari"). _
    Caption = Format(DTtgldari.Value, "dd-mm-YYYY")
Penjelasan koding ini ialah Pada bagian section4  (lihat pada gambar 5) di dalam data report untuk control label dengan nama label lbltgldari beri caption dengan format DTtgldari.Value, "dd-mm-YYYY". Dttgldari merupakan nama komponen yang sebelumnya telah kita buat pada form lapjual.

Desain Bentuk Laporan

Buat data report baru, beri nama rptjualgolongan dan lakukan desain seperti gambar berikut. Jika tidak tahu cara mendesain data report, silakan baca terlebih dahulu cara membuat laporan Data Report
Gambar 3. Desain Bentuk Laporan Penjualan

Selesai. Selamat Mencoba

Post a Comment

0 Comments