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 |
Gambar 2. Letak komponen DTPicker |
Komponen | Properti | Nilai |
Form | Name | frmlapjual |
Frame | Caption | |
Label 1 | Caption | Laporan Jual Per Tanggal |
Label 2 | Caption | Periode |
DTPicker | Name | Dttgldari |
Label 3 | Caption | s/d |
DTPicker | Name | Dttglsampai |
Command Button 1 | Name | cmdtampil |
Command Button 2 | Name | cmdcetak |
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
0 Comments