berdasarkan tanggal transaksi. Untuk memanggil laporan tersebut, kita
membutuhkan satu form tambahan untuk menentukan tanggal transaksi yang akan
ditampilkan dalam sebuah laporan. Untuk lebih jelasnya, berikut langkah
pembuatannya:
1. Klik kanan menu mmarketdbà Add Command.
2. Masuk pada halaman Command1 Properties dengan cara klik kanan
Command1 Ã Properties.
3. Dari jendela Command1 Properties, pilih opsi SQL Statement, kemudian
ketikkan kode program berikut:
SELECT Penjualan.No_Nota, Penjualan.Tgl_Nota,
Penjualan_Detail.Kode_Barang, brg_barang.Nama_Barang,
Penjualan_Detail.Harga_Jual, Penjualan_Detail.Jumlah,
Penjualan_Detail.Subtotal
FROM brg_barang, Penjualan, Penjualan_Detail
WHERE Penjualan.No_Nota = Penjualan_Detail.No_Nota
AND brg_barang.Kode_Barang = Penjualan_Detail.Kode_Barang
AND Penjualan.Tgl_Nota
AND Penjualan.Tgl_Nota = ?
ORDER BY Penjualan.No_Nota, brg_barang.Kode_Barang
4. Ubahlah nama “Command1” menjadi “rsJualTanggal” pada kolom
Command Name. Berikut tampilannya:
Gambar 4.34 Menambahkan Perintah SQL Laporan Penjualan Per-Tanggal
Transaksi
5. Ubahlah parameter dari dalam tab Parameters. Klik tanda tanya ( ? ) pada
kolom Parameters, kemudian ubah dari “?” menjadi “Param” pada bagian
Name. Berikut caranya:
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 61
Gambar 4.35 Menambahkan Parameter
Klik tanda tanya (?) pada bagian Parameters.
Ketikkan parameter tanda tanya (?) dengan menggunakan nama
“Param”.
6. Laporan penjualan per-tanggal transaksi ini akan dibentuk grup berdasarkan
nomor transaksi dan tanggal penjualannya. Untuk membuat grup, pilih tab
Grouping. Berikut caranya:
Gambar 4.36 Memilih Atribut untuk Grup
Aktifkan tanda cek ( ) Group Command Object.
Pilihlah beberapa kolom untuk dijadikan grup laporan, dalam laporan
penjualan per-tanggal transaksi, yang akan dijadikan grup adalah kolom
No_Nota dan Tgl_Nota.
Klik tombol bergambar lebih dari ( ).
Kolom yang akan dijadikan grup akan berpindah pada kotak Fields User
for Grouping.
7. Klik tombol Apply, lalu klik tombol OK.
8. Tambahkan objek Data Report dari menu Project à Add Data Report.
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 63
9. Tambahkan kolom grup pada halaman laporan melalui klik kanan bagian
Detail (Section1) Ã Insert Group Header/Footer.
10. Untuk mengisi data grup nomor transaksi dan tanggal penjualan pada laporan
penjualan per-tanggal transaksi, lakukan drag and drop Recordset
rsJualTanggal_Grouping ke dalam kolom Group Header (Section6).
11. Selanjutnya, pindahkan data pada Recordset rsJualTanggal dengan cara drag
and drop ke dalam kolom Detail (Section1).
12. Modifikasilah halaman laporan tersebut sesuai dengan keinginan Anda
dengan menggunakan objek di dalam menu Toolbox. Selain memodifikasi,
Anda juga dapat mengurangi data-data yang kurang dibutuhkan untuk
laporan. Berikut tampilannya:
Gambar 4.37 Hasil Desain Laporan Penjualan Per-Tanggal Transaksi
13. Pada halaman DataReport1 yang telah dimodifikasi, Anda dapat mengatur
batas halaman laporan melalui jendela Properties, kemudian pilih tab
Categorized. Berikut tabel pengaturannya:
14. Setelah selesai mengatur batas halaman, maka aturlah halaman DataReport1
menggunakan tabel pengaturan berikut ini:
15. Masuklah pada halaman kode. Caranya, klik menu View à Code.
16. Untuk me-refresh laporan ketika proses penambahan data melalui program
transaksi penjualan, maka ketikkan kode program berikut:
Private Sub DataReport_Terminate()
rptLapJualTanggal.Refresh
koneksiDb.rsrsJualTanggal_Grouping.Close
End Sub
17. Simpan laporan ini dengan nama rptLapJualTanggal.Dsr.
18. Tambahkan satu form baru ke dalam proyek dari menu Project à Add
Form.
19. Tambahkan beberapa objek ke dalam form, yaitu objek Label ( ), Frame
( ), DTPicker ( ), CommandButton ( ), dan MSFlexGrid ( ). Berikut
tampilannya:
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 65
Gambar 4.38 Desain Awal Form Laporan Penjualan Per-Tanggal Transaksi
20. Aturlah form di atas beserta semua objek yang ada di dalamnya dari jendela
21. Periksalah setiap nilai properti dari tabel pengaturan di atas, sehingga hasilnya
akan tampak seperti gambar berikut:
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 67
Gambar 4.39 Hasil Desain Form Laporan Penjualan Per-Tanggal Transaksi
22. Kemudian masuklah pada halaman kode.
23. Buatlah prosedur baru bernama AktifGridPreview. Prosedur ini berisi
perintah untuk mengatur tampilan grid data. Berikut kodenya:
Sub AktifGridPreview()
With GridPreview
.Cols = 8
.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "NO"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 1
.Row = 0
.Text = "NO NOTA"
.CellFontBold = True
.ColWidth(1) = 1100
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "TANGGAL"
.ColWidth(2) = 1200
.CellFontBold = True
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "KODE"
.CellFontBold = True
.ColWidth(3) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "NAMA BARANG"
.CellFontBold = True
.ColWidth(4) = 4000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 5
.Row = 0
.Text = "HARGA JUAL"
.CellFontBold = True
.ColWidth(5) = 1300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 69
.Col = 6
.Row = 0
.Text = "QTY"
.CellFontBold = True
.ColWidth(6) = 500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 7
.Row = 0
.Text = "SUBTOTAL"
.CellFontBold = True
.ColWidth(7) = 1300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
24. Buarlah prosedur baru bernama TampilGridData. Prosedur ini digunakan
untuk menampilkan data transaksi penjualan barang per tanggal transaksi yang
sudah ditentukan ke dalam objek MSFlexGrid (bernama GridPreview).
Berikut kodenya:
Sub TampilGridData()
Dim Baris As Integer
GridPreview.Clear
Call AktifGridPreview
GridPreview.Rows = 2
Baris = 0
If rsTampil.BOF Then
MsgBox "DATA TRANSAKSI MASIH KOSONG!", _
vbOKOnly + vbInformation, "Perhatian"
Exit Sub
Else
With rsTampil
.MoveFirst
Do While Not .EOF
On Error Resume Next
'SubTotal = !Harga_Jual * !Jumlah
Baris = Baris + 1
GridPreview.Rows = Baris + 1
GridPreview.TextMatrix(Baris, 0) = Baris
GridPreview.TextMatrix(Baris, 1) = !No_Nota
GridPreview.TextMatrix(Baris, 2) = !Tgl_Nota
GridPreview.TextMatrix(Baris, 3) = !Kode_Barang
GridPreview.TextMatrix(Baris, 4) = !Nama_Barang
GridPreview.TextMatrix(Baris, 5) = !Harga_jual
GridPreview.TextMatrix(Baris, 6) = !Jumlah
GridPreview.TextMatrix(Baris, 7) = _
!Harga_jual * !Jumlah
.MoveNext
Loop
End With
End If
End Sub
25. Saat form dipanggil, program akan membuka koneksi database dan
memberikan kondisi form. Ketikkan kode program berikut pada prosedur
Form_Load.
Private Sub Form_Load()
Call BukaDatabase
Call AktifGridPreview
DateTransaksi.Value = Format(Date, "dd MMMM yyyy")
End Sub
26. Tombol Preview digunakan untuk memanggil data-data untuk ditampilkan ke
dalam objek MSFlexGrid (bernama GridPreview). Untuk menambahkan
kodenya, masuklah pada halaman desain, klik dua kali tombol Preview,
kemudian ketikkan kode berikut:
Private Sub cmdPreview_Click()
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 71
Set rsTampil = New ADODB.Recordset
rsTampil.Open "SELECT Penjualan.No_Nota,
Penjualan.Tgl_Nota, " _
& " brg_barang.Kode_Barang, brg_barang.Nama_Barang,
" _
& " Penjualan_Detail.Harga_Jual,
Penjualan_Detail.Jumlah, " _
& " Penjualan_Detail.Subtotal FROM " _
& " brg_barang, Penjualan, Penjualan_Detail " _
& " WHERE Penjualan.No_Nota =
Penjualan_Detail.No_Nota " _
& " AND brg_barang.Kode_Barang =
Penjualan_Detail.Kode_Barang " _
& " AND Penjualan.Tgl_Nota = #" &
CDate(DateTransaksi.Value) & "#" _
& " ORDER BY Penjualan.No_Nota,
brg_barang.Kode_Barang", _
KonekDb, adOpenDynamic, adLockBatchOptimistic
Call TampilGridData
End Sub
27. Tombol Tampil digunakan untuk menampilkan laporan penjualan per-tanggal
transaksi yang sudah Anda tentukan pada objek DTPicker. Untuk membuat
kodenya, masuk pada halaman desain dan klik dua kali tombol Tampil,
kemudian ketikkan kode berikut:
Private Sub cmdTampil_Click()
SQL = ""
SQL = " SELECT Penjualan.No_Nota, Penjualan.Tgl_Nota, "
_
& " brg_barang.Kode_Barang, brg_barang.Nama_Barang,
" _
& " Penjualan_Detail.Harga_Jual,
Penjualan_Detail.Jumlah, " _
& " Penjualan_Detail.Subtotal " _
& " FROM brg_barang, Penjualan, Penjualan_Detail "
_
& " WHERE Penjualan.No_Nota =
Penjualan_Detail.No_Nota " _
Membuat Aplikasi Penjualan Retail (Mini Market) dengan VB 6
Penulis : Indah Indriyanna, S.Kom (tim Bunafit Komputer)
72
& " AND brg_barang.Kode_Barang =
Penjualan_Detail.Kode_Barang " _
& " AND Penjualan.Tgl_Nota = #" &
CDate(DateTransaksi.Value) & "#" _
& " ORDER BY Penjualan.No_Nota,
brg_barang.Kode_Barang"
Set rsTampil = New ADODB.Recordset
Set rsTampil = KonekDb.Execute(SQL)
If rsTampil.BOF Then
MsgBox "Maaf Penjualan dengan tanggal " &
Format(DateTransaksi.Value, "dd MMMM yyyy") _
& " tidak tersedia !", vbInformation +
vbOKOnly, "Informasi"
Else
koneksiDb.rsJualTanggal_Grouping
(Format(DateTransaksi.Value, "dd/MM/yyyy"))
With rptLapJualTanggal
.Sections("Section4").Controls("LblTgl").Caption =
Format(Date, "dd MMMM yyyy")
.Sections("Section4").Controls("LblTgl2").Caption =
Format(DateTransaksi.Value, "dd MMMM yyyy")
.Refresh
.WindowState = 2
.Show 1
End With
End If
End Sub
28. Tombol Keluar digunakan untuk membuat form laporan penjualan pertanggal
transaksi ketika sedang berjalan. Masuklah pada halaman desain, klik
dua kali tombol Keluar, kemudian ketikkan kode berikut:
Private Sub cmdKeluar_Click()
Unload Me
End Sub
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 73
29. Langkah terakhir, simpan form laporan ini dengan menggunakan nama
frmLapJualTanggal.frm.
30. Jalankan program dengan menekan tombol F5 pada keyboard. Anda dapat
mengakses program dari menu Laporan à Penjualan Per-Tanggal
Transaksi. Berikut tampilannya:
Gambar 4.40 Tampilan Hasil Form Laporan Penjualan Per-Tanggal
Transaksi
Gambar 4.41 Tampilan Hasil Laporan Penjualan Per-Tanggal Transaksi
gan boleh minta sourcodenya trimakasih kirim ke Iqbhabal@outlook.com
BalasHapus