berdasarkan jenis barang yang telah ditentukan. Untuk menampilkan laporan
tersebut, kita membutuhkan satu form tambahan sebagai media informasi jenis
barang yang ada di Mini Market. Untuk lebih jelasnya, berikut langkahnya:
1. Klik kanan menu mmarketdbà Add Command.
2. Masuk pada halaman Command1 Properties dengan cara klik kanan
Command1 Ã Properties.
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 19
3. Dari jendela Command1 Properties, pilih opsi SQL Statement, kemudian
ketikkan kode program berikut:
SELECT brg_barang.*, brg_jenis.Nama_Jenis FROM brg_jenis,
brg_produk, brg_barang
WHERE brg_jenis.Kode_Jenis=brg_produk.Kode_Jenis
AND brg_produk.Kode_Produk = brg_barang.Kode_Produk
ORDER BY brg_barang.Kode_Barang
4. Ubahlah nama “Command1” menjadi “rsBarangJenis” pada kolom
Command Name. Berikut tampilannya:
Gambar 4.16 Menambahkan Perintah SQL Laporan Barang Per Jenis
5. Klik tombol Apply, lalu klik tombol OK.
6. Tambahkan objek Data Report dari menu Project à Add Data Report.
7. Lakukan drag and drop pada Recordset rsBarangJenis ke dalam area Detail
(Section1) pada Data Report. Modifikasilah halaman laporan tersebut sesuai
dengan keinginan Anda dengan menggunakan objek di dalam menu Toolbox.
Berikut tampilannya:
Gambar 4.17 Hasil Desain Laporan Barang Berdasarkan Jenis
8. Pada halaman DataReport1 yang telah dimodifikasi, Anda dapat mengatur
batas halaman laporan melalui jendela Properties, kemudian pilih tab
Categorized. Berikut tabel pengaturannya:
9. Setelah selesai mengatur batas halaman, maka aturlah halaman DataReport1
menggunakan tabel pengaturan berikut ini:
10. Masuklah pada halaman kode. Caranya, klik menu View à Code.
11. Untuk me-refresh laporan ketika proses penambahan data melalui program
master data barang, maka ketikkan kode program berikut:
Private Sub DataReport_Terminate()
rptLapBarangJenis.Refresh
koneksiDb.rsrsBarangJenis.Close
End Sub
12. Simpan laporan ini dengan nama rptLapBarangJenis.Dsr.
13. Tambahkan satu form baru ke dalam proyek. Caranya, klik menu Project Ã
Add Form.
14. Tambahkan beberapa objek ke dalam form, yaitu objek Label ( ), Frame
( ), TextBox ( ), ComboBox ( ), CommandButton ( ), dan MSFlexGrid
( ). Berikut tampilannya:
Gambar 4.18 Desain Awal Form Laporan Barang Per-Jenis
15. Aturlah form di atas beserta semua objek yang ada di dalamnya dari jendela
16. Periksalah setiap nilai properti dari tabel aturan di atas, sehingga hasil dari
pengaturan di atas akan tampak seperti gambar berikut:
Gambar 4.19 Hasil Desain Form Laporan Barang Per-Jenis
17. Kemudian masuklah pada halaman kode. Caranya, klik menu View à Code.
18. Buatlah prosedur baru bernama AktifGridBarang. Prosedur ini berisi
perintah untuk mengatur tampilan grid data. Berikut kodenya:
Sub AktifGridBarang()
With GridBarang
' Atur Jumlah kolom
.Cols = 8
' Kolom Pertama (Col 0)
.RowHeightMin = 300
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 25
.Col = 0
.Row = 0
.Text = "NO"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
' Kolom Kedua (Col 1)
.RowHeightMin = 300
.Col = 1
.Row = 0
.Text = "KODE"
.CellFontBold = True
.ColWidth(1) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
' Kolom Keempat (Col 2)
.Col = 2
.Row = 0
.Text = "NAMA BARANG"
.CellFontBold = True
.ColWidth(2) = 4500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
' Kolom Kelima (Col 3)
.Col = 3
.Row = 0
.Text = "SATUAN"
.CellFontBold = True
.ColWidth(3) = 900
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
' Kolom Keenam (Col 4)
.Col = 4
.Row = 0
.Text = "H BELI[Rp.]"
.CellFontBold = True
.ColWidth(4) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
' Kolom Ketujuh (Col 5)
.Col = 5
.Row = 0
.Text = "H JUAL[Rp.]"
.CellFontBold = True
.ColWidth(5) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
' Kolom Kedelapan (Col 6)
.Col = 6
.Row = 0
.Text = "STOK"
.CellFontBold = True
.ColWidth(6) = 700
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
' Kolom Kedelapan (Col 7)
.Col = 7
.Row = 0
.Text = "BARCODE"
.CellFontBold = True
.ColWidth(7) = 1200
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 27
19. Buatlah prosedur baru bernama TampilGridData. Prosedur ini digunakan
untuk menampilkan data barang ke dalam objek MSFlexGrid (bernama
GridBarang). Berikut kodenya:
Sub TampilGridData()
Dim Baris As Integer
GridBarang.Clear
AktifGridBarang
GridBarang.Rows = 2
Baris = 0
If Rs_Barang.BOF Then
MsgBox "DATA BARANG MASIH KOSONG", _
vbOKOnly + vbInformation, "Perhatian"
GridBarang.Clear
Exit Sub
Else
With Rs_Barang
.MoveFirst
Do While Not .EOF
On Error Resume Next
Baris = Baris + 1
GridBarang.Rows = Baris + 1
GridBarang.TextMatrix(Baris, 0) = Baris
GridBarang.TextMatrix(Baris, 1) = !Kode_Barang
GridBarang.TextMatrix(Baris, 2) = !Nama_Barang
GridBarang.TextMatrix(Baris, 3) = !Satuan
GridBarang.TextMatrix(Baris, 4) = !Harga_Beli
GridBarang.TextMatrix(Baris, 5) = !Harga_jual
GridBarang.TextMatrix(Baris, 6) = !Stok
GridBarang.TextMatrix(Baris, 7) = !Barcode
.MoveNext
Loop
End With
End If
End Sub
20. Buatlah prosedur baru bernama DataGolongan. Prosedur ini digunakan untuk
menampilkan seluruh data golongan ke dalam combo golongan. Berikut
kodenya:
Sub DataGolongan()
Set Rs_Golongan = New ADODB.Recordset
Rs_Golongan.Open "SELECT * FROM brg_golongan " _
& " ORDER BY Kode_Golongan", _
KonekDb, adOpenDynamic, adLockBatchOptimistic
Rs_Golongan.Requery
With Rs_Golongan
If .EOF And .BOF Then
MsgBox "DAFTAR GOLONGAN MASIH KOSONG", _
vbOKOnly + vbCritical, "Error"
Else
cmbGolongan.Clear
Do Until .EOF
cmbGolongan.AddItem ![Kode_Golongan] _
+ " | " + ![Nama_Golongan]
.MoveNext
Loop
.MoveFirst
End If
End With
End Sub
21. Dari halaman desain, klik dua kali objek ComboBox (cmbGolongan) dan
ubahlah status Change menjadi Click. Status ini berfungsi untuk
memindahkan salah satu data golongan ke dalam combo. Berikut kodenya:
Private Sub cmbGolongan_Click()
Dim CmbTerpilih As String
Dim PanjangKanan As Integer
cmbJenis.Text = ""
txtJenis.Text = ""
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 29
' Potong Kode Golongan dan tampilkan
CmbTerpilih = cmbGolongan.Text
PanjangKanan = Len(cmbGolongan.Text) - 5
' Potong Nama Golongan dan tampilkan
cmbGolongan.Text = Left(cmbGolongan.Text, 3)
txtGolongan.Text = Right(CmbTerpilih, PanjangKanan)
Call DataJenis
cmbJenis.SetFocus
End Sub
22. Buatlah prosedur baru bernama DataJenis. Prosedur ini digunakan untuk
menampilkan seluruh data jenis ke dalam combo jenis. Berikut kodenya:
Sub DataJenis()
Set Rs_Jenis = New ADODB.Recordset
Rs_Jenis.Open "SELECT * FROM brg_jenis WHERE " _
& " Kode_Golongan='" & cmbGolongan.Text & "'", _
KonekDb, adOpenDynamic, adLockBatchOptimistic
Rs_Jenis.Requery
With Rs_Jenis
If .EOF And .BOF Then
MsgBox "DAFTAR JENIS TIDAK ADA", _
vbOKOnly + vbCritical, "Error"
Else
cmbJenis.Clear
Do Until .EOF
cmbJenis.AddItem ![Kode_Jenis] _
+ " | " + ![Nama_Jenis]
.MoveNext
Loop
.MoveFirst
End If
End With
End Sub
23. Dari halaman desain, klik dua kali objek ComboBox (cmbJenis) dan ubahlah
status Change menjadi Click. Status ini berfungsi untuk memindahkan salah
satu data jenis ke dalam combo. Berikut kodenya:
Private Sub cmbJenis_Click()
Dim CmbTerpilih As String
Dim PanjangKanan As Integer
' Potong Kode Golongan dan tampilkan
CmbTerpilih = cmbJenis.Text
PanjangKanan = Len(cmbJenis.Text) - 9
' Potong Nama Golongan dan tampilkan
cmbJenis.Text = Left(cmbJenis.Text, 7)
txtJenis.Text = Right(CmbTerpilih, PanjangKanan)
' DATA BARANG PER PRODUK UNTUK GRID
Set Rs_Barang = New ADODB.Recordset
Rs_Barang.Open "SELECT brg_barang.* " _
& " FROM brg_jenis, brg_produk, brg_barang " _
& " WHERE brg_jenis.Kode_Jenis=brg_produk.Kode_Jenis " _
& " AND brg_produk.Kode_Produk=brg_barang.Kode_Produk " _
& " AND brg_jenis.Kode_Jenis ='" & cmbJenis.Text & "'", _
KonekDb, adOpenDynamic, adLockBatchOptimistic
Call TampilGridData
End Sub
24. Saat form dipanggil, program akan membuka koneksi database dan
memberikan kondisi awal form. Ketikkan kode program berikut pada
prosedur Form_Load.
Private Sub Form_Load()
Call BukaDatabase
Call DataGolongan
End Sub
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 31
25. Tombol Tampilkan digunakan untuk menampilkan laporan barang
berdasarkan jenis yang sudah Anda tentukan pada bagian combo. Untuk
membuat kodenya, masuk pada halaman desain dan klik dua kali tombol
Tampilkan, kemudian ketikkan kode berikut:
Private Sub cmbTampil_Click()
SQL = "SELECT brg_barang.*, brg_jenis.Nama_Jenis " _
& " FROM brg_jenis, brg_produk, brg_barang " _
& " Where brg_jenis.Kode_Jenis =
brg_produk.Kode_Jenis " _
& " AND brg_produk.Kode_Produk =
brg_barang.Kode_Produk " _
& " AND brg_jenis.Kode_Jenis ='" & cmbJenis.Text &
"'" _
& " ORDER BY brg_barang.Kode_Barang"
Set rsTampil = New ADODB.Recordset
rsTampil.Open SQL, KonekDb
If rsTampil.BOF Then
MsgBox "TIDAK ADA DATA YANG DILAPORKAN", _
vbInformation + vbOKOnly, "Informasi"
Else
koneksiDb.Commands(7).CommandText = SQL
With rptLapBarangJenis
.Sections("Section4").Controls("LblJenis").Caption =
txtJenis.Text
.Sections("Section4").Controls("LblTanggal").Caption
= Format(Date, "dd MMMM yyyy")
.Refresh
.WindowState = 2
.Show 1
End With
End If
End Sub
26. Tombol Tutup digunakan untuk membuat form laporan barang berdasarkan
jenis ketika sedang berjalan. Dari halaman desain, klik dua kali tombol Tutup,
lalu ketikkan kode berikut:
Private Sub cmbTutup_Click()
Unload Me
End Sub
27. Langkah terakhir, simpan form ini dengan nama frmLapBarangJenis.frm.
28. Jalankan program dengan menekan tombol F5 pada keyboard. Anda dapat
mengakses program dari menu Laporan à Barang Berdasarkan Jenis.
Berikut tampilannya:
Gambar 4.20 Tampilan Form Laporan Barang Per Jenis
Lanjutan : Membuat Laporan Data dan Transaksi Mini Market 33
Gambar 4.21 Tampilan Laporan Barang Per Jenis
Tidak ada komentar:
Posting Komentar