Você está na página 1de 23

uusrusmawan.

com
(konsultasivb.com)

PANDUAN MEMBUAT APLIKASI INVENTORI -


STOK BARANG DENGAN VB.NET
Pada bab ini akan dibahas tentang aplikasi stok barang. Pada dasarnya aplikasi ini sama dengan aplikasi
inventori, yaitu aplikasi yang mengolah data barang masuk dan barang keluar. Pada bab ini coding untuk
form master akan kami singkat karena pembahasannya sama dengan bab-bab sebelumnya. Aplikasi ini
dapat diunduh pada tautan di bawah ini:

Adapun cara menggunakan aplikasi ini adalah sebagai berikut :

1. Copy database "kartustokdb" ke folder xampp\mysql\data

2. Membuat DSN dengan nama "kartustokdb" dengan driver database MySql 5.1

3. Copy project ke dalam hardisk anda

4. Jalankan xampp

5. Run Aplikasi Stok Barang

5.1 Membuat Project Baru


Langkah awal dalam membuat aplikasi ini adalah membuat project.

1. Buka Microsoft Visual Studio 2008 (silakan gunakan versi yang anda miliki)

2. Create Project

3. Tulis nama project, misalnya "Aplikasi Stok Barang "

4. Klik OK

5.2 Membuat Database Dan Tabel


Langkah selanjutnya adalah membuat database dan tabel. Database dalam aplikasi stok barang ini dibuat
menggunakan mysql. Nama database dalam aplikasi ini adalah "KartuStokdb", adapun tabel-tabel dalam
aplikasi ini terlihat pada gambar di bawah ini.

1
uusrusmawan.com
(konsultasivb.com)

Gambar 5.21 Database dan tabel aplikasi stok barang

5.3 Bentuk Relasi Tabel


Bentuk relasi tabel dalam aplikasi ini dapat dilihat pada gambar di bawah ini.

Gambar 5.22 Bentuk relasi tabel

5.4 Membuat Module Koneksi Database


Sebelum membuat module koneksi, buatlah DSN untuk konek ke database mysql "kartustokdb" dengan
cara seperti dijelaskan di bawah ini.

1. Buka Control panel


uusrusmawan.com
(konsultasivb.com)

2. Cari dan buka data source (ODBC)

3. Pilih user DSN > add

4. Pilih MySql ODBC 5.1 Driver

Gambar 5.2 Membuat DSN untuk database mysql

Langkah berikutnya adalah membuat module koneksi ke database.

1. Klik menu Project

2. Add Module

3. Klik Add

4. Kemudian tulislah coding di bawah ini

Imports System.Data.Odbc
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

Module Module1

Public Conn As odbcConnection


Public DA As odbcDataAdapter
Public DS As DataSet
Public CMD As odbcCommand
Public DR As odbcDataReader
uusrusmawan.com
(konsultasivb.com)

Public Sub Koneksi()


Try
Conn = New OdbcConnection("dsn=kartustokdb")
Conn.Open()
Catch ex As Exception
MsgBox(ex.Message)
End
End Try
End Sub
End Module

5.5 Form Login


Langkah berikutnya adalah membuat form login sebagai sarana keamanan aplikasi. Bentuk form login
terlihat pada gambar di bawah ini.

Gambar 5.3 Form login

Coding : silakan unduh aplikasi ini pada tautan yang tertera di bawah judul bab 5.

Imports System.Data.Odbc

Public Class Login

Dim Hitung As Integer = 0

Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnOK.Click
Call Koneksi()
CMD = New OdbcCommand("select * from tbluser where nama_user='" &
txtnamauser.Text & "' and pwd_user='" & txtpassword.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
MsgBox("Login gagal")
Hitung = Hitung + 1
If Hitung > 2 Then
uusrusmawan.com
(konsultasivb.com)

End
End If
Exit Sub
Else
If txtpassword.Text <> DR.Item("pwd_user") Then
MsgBox("password salah")
txtpassword.Focus()
Exit Sub
End If
Me.Visible = False
MenuUtama.Show()

MenuUtama.Panel1.Text = DR.Item("kode_user")
MenuUtama.Panel2.Text = DR.Item("nama_user")
MenuUtama.Panel3.Text = UCase(DR.Item("status"))

If MenuUtama.Panel3.Text <> "ADMIN" Then


MenuUtama.btnuser.Visible = False
End If
End If
End Sub

Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnCancel.Click
Me.Close()
End Sub
End Class

5.6 Form Menu Utama


Langkah berikutnya adalah membuat menu utama dengan tampilan sebagai berikut.

5
uusrusmawan.com
(konsultasivb.com)

Gambar 5.4 Menu utama aplikasi stok barang

5.7 Form User


Selanjutnya membuat form user dengan bentuk tampilan seperti terlihat pada gambar berikut ini.
uusrusmawan.com
(konsultasivb.com)

Gambar 5.5 Form user

5.8 Form Barang


Selanjutnya membuat form barang dengan bentuk tampilan seperti terlihat pada gambar berikut ini.

Gambar 5.6 Form barang

5.9 Form Supplier


Selanjutnya membuat form supplier dengan bentuk tampilan seperti terlihat pada gambar berikut ini.
uusrusmawan.com
(konsultasivb.com)

Gambar 5.7 Form supplier

5.10 Form Customer


Selanjutnya membuat form customer dengan bentuk tampilan seperti terlihat pada gambar berikut ini.
uusrusmawan.com
(konsultasivb.com)

Gambar 5.8 Form customer

5.11 Form Barang Masuk


Pada point ini kita mulai masuk ke proses transaksi berupa barang masuk dengan bentuk tampilan seperti
terlihat pada gambar berikut ini.

Gambar 5.9 Form transaksi barang masuk


uusrusmawan.com
(konsultasivb.com)

Proses dalam transaksi barang masuk adalah sebagai berikut:

1. Ketik nomor masuk barang, lalu tekan enter

2. Pilih tanggal

3. Pilih supplier

4. Pilih barang masuk dari sebelah kanan berupa grid

5. Isilah jumlah barang masuk

6. Jika transaksi pada baris tertentu akan dibatalkan tekan tombol ESC

7. Jika nama barang sudah banyak, silakan ketik nama barang di kota "cari barang"

8. Selanjutnya klik simpan

Coding :

Imports System.Data.Odbc

Public Class BarangMasuk

Sub Kosongkan()
txtnomor.Clear()
cbokodesupplier.Text = ""
lblnamasupplier.Text = ""
txtcaribarang.Clear()
lbltotalmasuk.Text = ""
DGV.Rows.Clear()
End Sub

Sub TampilKodeSupplier()
CMD = New odbcCommand("select kode_supplier from tblsupplier",
Conn)
DR = CMD.ExecuteReader
cbokodesupplier.Items.Clear()
Do While DR.Read
cbokodesupplier.Items.Add(DR.Item("kode_supplier"))
Loop
End Sub

Sub TampilBarang()
DA = New OdbcDataAdapter("select * from tblbarang", Conn)
DS = New DataSet
DA.Fill(DS)
DGVBarang.DataSource = DS.Tables(0)
DGVBarang.ReadOnly = True
DGVBarang.Columns(0).Visible = False
DGVBarang.Columns(2).Visible = False
DGVBarang.Columns(3).Visible = False
End Sub

Private Sub BarangMasuk_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load

10
uusrusmawan.com
(konsultasivb.com)

Call Kosongkan()
Call Koneksi()
Call TampilKodeSupplier()
Call TampilBarang()
End Sub

Private Sub cbokodesupplier_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
cbokodesupplier.SelectedIndexChanged
CMD = New odbcCommand("select * from tblsupplier where
kode_supplier='" & cbokodesupplier.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
lblnamasupplier.Text = DR.Item("nama_supplier")
Else
MsgBox("kode supplier tidak terdaftar")
End If
End Sub

Sub TotalMasuk()
Dim hitung As Integer = 0
For baris As Integer = 0 To DGV.RowCount - 1
hitung = hitung + DGV.Rows(baris).Cells(3).Value
Next
lbltotalmasuk.Text = hitung
End Sub

Private Sub DGV_CellEndEdit(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV.CellEndEdit
If e.ColumnIndex = 3 Then
Try
DGV.Rows(e.RowIndex).Cells(4).Value =
DGV.Rows(e.RowIndex).Cells(2).Value + DGV.Rows(e.RowIndex).Cells(3).Value
Call TotalMasuk()
Catch ex As Exception
MsgBox("harus angka")
SendKeys.Send("{UP}")
DGV.Rows(e.RowIndex).Cells(3).Value = 0
End Try
End If

End Sub

Private Sub btnbatal_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnbatal.Click
Call Kosongkan()
End Sub

Private Sub btntutup_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btntutup.Click
Me.Close()
End Sub

Private Sub DGV_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles DGV.KeyPress

11
uusrusmawan.com
(konsultasivb.com)

On Error Resume Next


If e.KeyChar = Chr(27) Then '=escape
DGV.Rows.Remove(DGV.CurrentRow)
Call TotalMasuk()
End If
End Sub

Private Sub txtcaribarang_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtcaribarang.TextChanged
DA = New OdbcDataAdapter("select * from tblbarang where nama_barang
like '%" & txtcaribarang.Text & "%'", Conn)
DS = New DataSet
DA.Fill(DS)
DGVBarang.DataSource = DS.Tables(0)
DGVBarang.ReadOnly = True
DGVBarang.Columns(0).Visible = False
DGVBarang.Columns(2).Visible = False
DGVBarang.Columns(3).Visible = False
End Sub

Private Sub txtnomor_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtnomor.KeyPress
txtnomor.MaxLength = 10
If e.KeyChar = Chr(13) Then
CMD = New odbcCommand("select no_masuk from tblbarangmasuk
where no_masuk='" & txtnomor.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
MsgBox("Nomor ini sudah digunakan")
txtnomor.Focus()
Exit Sub
Else
dtptanggal.Focus()
End If
End If
End Sub

Private Sub DGVBarang_CellMouseClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
DGVBarang.CellMouseClick
On Error Resume Next
DGV.Focus()
Dim baris As Integer = DGV.RowCount - 1

DGV.Rows.Add(DGVBarang.Rows(e.RowIndex).Cells(0).Value,
DGVBarang.Rows(e.RowIndex).Cells(1).Value,
DGVBarang.Rows(e.RowIndex).Cells(3).Value)
txtcaribarang.Clear()
For barisatas As Integer = 0 To DGV.RowCount - 1
For barisbawah As Integer = barisatas + 1 To DGV.RowCount - 1
If DGV.Rows(barisbawah).Cells(0).Value =
DGV.Rows(barisatas).Cells(0).Value Then
DGV.Rows(barisatas).Cells(3).Value =
DGV.Rows(barisatas).Cells(3).Value + 1

12
uusrusmawan.com
(konsultasivb.com)

DGV.Rows(barisatas).Cells(4).Value =
DGV.Rows(barisatas).Cells(2).Value + DGV.Rows(barisatas).Cells(3).Value
DGV.Rows.RemoveAt(barisbawah)
DGV.CurrentCell = DGV(2, baris)
SendKeys.Send("{TAB}")
Call TotalMasuk()
Exit Sub
End If
Next
Next

CMD = New OdbcCommand("select * from tblbarang where kode_barang='"


& DGV.Rows(baris).Cells(0).Value & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
DGV.Rows(baris).Cells(1).Value = DR.Item("nama_Barang")
DGV.Rows(baris).Cells(2).Value = DR.Item("stok")
DGV.CurrentCell = DGV(2, baris)
SendKeys.Send("{TAB}")
Else
MsgBox("kode barang tidak terdaftar")
End If
Call TotalMasuk()
End Sub
End Class

5.12 Form Barang Keluar


Langkah berikutnya adalah membuat form transaksi barang keluar dengan tampilan seperti gambar berikut
ini.

Gambar 5.10 Form transaksi barang keluar


uusrusmawan.com
(konsultasivb.com)

Proses dalam transaksi barang keluar adalah sebagai berikut :

1. Pilih tanggal barang keluar

2. Pilih supplier

3. Pilih barang masuk di sebelah kanan berupa grid

4. Isilah jumlah barang keluar

5. Jika transaksi pada baris tertentu akan dibatalkan tekan tombol ESC

6. Jika nama barang sudah banyak, silakan ketik nama barang di kota "cari barang"

7. Selanjutnya klik simpan

Coding :

Imports System.Data.Odbc

Public Class BarangKeluar

Sub NomorOtotamatis()
txtnomor.Enabled = False
CMD = New odbcCommand("select No_Keluar from tblbarangkeluar order
by No_Keluar desc", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
txtnomor.Text = Format(Today, "yyMMdd") + "0001"
Else
If Microsoft.VisualBasic.Left(DR.Item("No_Keluar"), 6) =
Format(Today, "yyMMdd") Then
txtnomor.Text = DR.Item("No_Keluar") + 1
Else
txtnomor.Text = Format(Today, "yyMMdd") + "0001"
End If
End If
End Sub

Sub Kosongkan()
cbokodecustomer.Text = ""
lblnamacustomer.Text = ""
txtcaribarang.Clear()
lbltotalkeluar.Text = ""
DGV.Rows.Clear()
End Sub

Sub TampilKodecustomer()
CMD = New odbcCommand("select kode_customer from tblcustomer",
Conn)
DR = CMD.ExecuteReader
cbokodecustomer.Items.Clear()
Do While DR.Read

14
uusrusmawan.com
(konsultasivb.com)

cbokodecustomer.Items.Add(DR.Item("kode_customer"))
Loop
End Sub

Sub TampilBarang()
DA = New OdbcDataAdapter("select * from tblbarang", Conn)
DS = New DataSet
DA.Fill(DS)
DGVBarang.DataSource = DS.Tables(0)
DGVBarang.ReadOnly = True
DGVBarang.Columns(0).Visible = False
DGVBarang.Columns(2).Visible = False
DGVBarang.Columns(3).Visible = False
End Sub

Private Sub BarangKeluar_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Call Kosongkan()
Call Koneksi()
Call NomorOtotamatis()
Call TampilKodecustomer()
Call TampilBarang()
End Sub

Private Sub cbokodecustomer_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
cbokodecustomer.SelectedIndexChanged
CMD = New odbcCommand("select * from tblcustomer where
kode_customer='" & cbokodecustomer.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
lblnamacustomer.Text = DR.Item("nama_customer")
Else
MsgBox("kode customer tidak terdaftar")
End If
End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs)
'On Error Resume Next

Dim baris As Integer = DGV.RowCount - 1


txtcaribarang.Clear()

For barisatas As Integer = 0 To DGV.RowCount - 1


For barisbawah As Integer = barisatas + 1 To DGV.RowCount - 1
If DGV.Rows(barisbawah).Cells(0).Value =
DGV.Rows(barisatas).Cells(0).Value Then
DGV.Rows(barisatas).Cells(3).Value =
DGV.Rows(barisatas).Cells(3).Value + 1

If DGV.Rows(barisatas).Cells(3).Value >
DGV.Rows(barisatas).Cells(2).Value Then
MsgBox("Stok barang tidak cukup, hanya ada " &
DGV.Rows(barisatas).Cells(3).Value & "")

15
uusrusmawan.com
(konsultasivb.com)

DGV.Rows(barisatas).Cells(3).Value =
DGV.Rows(barisatas).Cells(2).Value
Else
DGV.Rows(barisatas).Cells(4).Value =
DGV.Rows(barisatas).Cells(2).Value - DGV.Rows(barisatas).Cells(3).Value
End If
DGV.Rows.RemoveAt(barisbawah)
Call TotalKeluar()
Exit Sub
End If
Next
Next

CMD = New OdbcCommand("select * from tblbarang where kode_barang='"


& DGV.Rows(baris).Cells(0).Value & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
DGV.Rows(baris).Cells(1).Value = DR.Item("nama_Barang")
DGV.Rows(baris).Cells(2).Value = DR.Item("stok")
DGV.CurrentCell = DGV(3, baris)
SendKeys.Send("{TAB}")
Else
MsgBox("kode barang tidak terdaftar")
End If

End Sub

Sub TotalKeluar()
Dim hitung As Integer = 0
For baris As Integer = 0 To DGV.RowCount - 1
hitung = hitung + DGV.Rows(baris).Cells(3).Value
Next
lbltotalkeluar.Text = hitung
End Sub

Private Sub btnbatal_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnbatal.Click
Call Kosongkan()
End Sub

Private Sub btntutup_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btntutup.Click
Me.Close()
End Sub

Private Sub DGV_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles DGV.KeyPress
On Error Resume Next
If e.KeyChar = Chr(27) Then '=escape
DGV.Rows.Remove(DGV.CurrentRow)
Call TotalKeluar()
End If
End Sub

16
uusrusmawan.com
(konsultasivb.com)

Private Sub txtcaribarang_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtcaribarang.TextChanged
DA = New OdbcDataAdapter("select * from tblbarang where nama_barang
like '%" & txtcaribarang.Text & "%'", Conn)
DS = New DataSet
DA.Fill(DS)
DGVBarang.DataSource = DS.Tables(0)
DGVBarang.ReadOnly = True
DGVBarang.Columns(0).Visible = False
DGVBarang.Columns(2).Visible = False
DGVBarang.Columns(3).Visible = False
End Sub

Private Sub DGVBarang_CellMouseClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
DGVBarang.CellMouseClick
On Error Resume Next
DGV.Focus()
Dim baris As Integer = DGV.RowCount - 1
DGV.Rows.Add(DGVBarang.Rows(e.RowIndex).Cells(0).Value,
DGVBarang.Rows(e.RowIndex).Cells(1).Value,
DGVBarang.Rows(e.RowIndex).Cells(3).Value)
txtcaribarang.Clear()

For barisatas As Integer = 0 To DGV.RowCount - 1


For barisbawah As Integer = barisatas + 1 To DGV.RowCount - 1
If DGV.Rows(barisbawah).Cells(0).Value =
DGV.Rows(barisatas).Cells(0).Value Then
DGV.Rows(barisatas).Cells(3).Value =
DGV.Rows(barisatas).Cells(3).Value + 1

If DGV.Rows(barisatas).Cells(3).Value >
DGV.Rows(barisatas).Cells(2).Value Then
MsgBox("Stok barang tidak cukup, hanya ada " &
DGV.Rows(barisatas).Cells(3).Value & "")
DGV.Rows(barisatas).Cells(3).Value =
DGV.Rows(barisatas).Cells(2).Value
Else
DGV.Rows(barisatas).Cells(4).Value =
DGV.Rows(barisatas).Cells(2).Value - DGV.Rows(barisatas).Cells(3).Value
End If
DGV.Rows.RemoveAt(barisbawah)
Call TotalKeluar()
Exit Sub
End If
Next
Next

CMD = New OdbcCommand("select * from tblbarang where kode_barang='"


& DGV.Rows(baris).Cells(0).Value & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
DGV.Rows(baris).Cells(1).Value = DR.Item("nama_Barang")
DGV.Rows(baris).Cells(2).Value = DR.Item("stok")

17
uusrusmawan.com
(konsultasivb.com)

DGV.CurrentCell = DGV(2, baris)


SendKeys.Send("{TAB}")
Else
MsgBox("kode barang tidak terdaftar")
End If
End Sub
End Class

5.13 Laporan Master


Bentuk menu pemanggil laporan-laporan master terlihat pada gambar di bawah ini.

Gambar 5.11 Menu laporan master

Salah satu bentuk laporan master dalam aplikasi ini terlihat dalam gambar berikut ini.

Gambar 5.12 Laporan barang

Coding :
uusrusmawan.com
(konsultasivb.com)

Private Sub btnbarang_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnbarang.Click
CRV.ReportSource = Nothing
CRV.ReportSource = "barang.rpt"
CRV.RefreshReport()
End Sub

Dalam menu ini dapat dilihat laporan lainnya berupa laporan user, supplier dan laporan customer.

5.14 Laporan Barang Masuk


Bentuk menu pemanggil laporan transaksi barang masuk dapat anda lihat di bagian bawah.

Gambar 5.13 Menu laporan barang nasuk

Salah satu bentuk laporan dalam transaksi barang masuk adalah laporan data masuk per nomor faktur.
uusrusmawan.com
(konsultasivb.com)

Gambar 5.14 Laporan barang masuk per nomor

Coding :
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
If ListBox1.Text = "" Then
MsgBox("pilih nomor terlebih dahulu")
Exit Sub
End If
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblbarangmasuk.no_masuk}='" &
ListBox1.Text & "'"
CRV.ReportSource = "barang masuk.rpt"
CRV.RefreshReport()
End Sub

Dalm menu ini dapat dilihat pula laporan barang masuk per supplier, laporan barang masuk harian,
mingguan dan laporan bulanan.

5.15 Laporan Barang Keluar


Bentuk menu pemanggil laporan transaksi barang keluar dapat anda lihat pada gambar berikut ini.
uusrusmawan.com
(konsultasivb.com)

Gambar 5.15 Laporan barang keluar

Salah satu bentuk laporan transaksi barang masuk adalah laporan per nomor keluar.

Gambar 5.16 Laporan barang keluar per nomor

Coding :
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
If ListBox1.Text = "" Then
MsgBox("pilih nomor terlebih dahulu")
Exit Sub
End If
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblbarangKeluar.no_Keluar}='" &
ListBox1.Text & "'"
CRV.ReportSource = "barang Keluar.rpt"
uusrusmawan.com
(konsultasivb.com)

CRV.RefreshReport()
End Sub

Dalm menu ini dapat dilihat pula laporan barang keluar per customer, laporan barang keluar harian,
mingguan dan laporan bulanan.

5.16 Laporan Stok Barang


Menu pemanggil laporan stok barang dapat dilihat pada gambar berikut ini.

Gambar 5.17 Menu laporan stok barang

Salah satu bentuk laporan stok barang dapat dilihat pada gambar di bawai ini.

Gambar 5.18 Laporan stok per barang pada tanggal tertentu

Coding :
Private Sub btnharian_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnharian.Click
If ListBox1.Text = "" Then
MsgBox("pilih barang terlebih dahulu")
Exit Sub
End If
uusrusmawan.com
(konsultasivb.com)

CRV.SelectionFormula = "Totext({tblstok.tanggal})='" &


dtpharian.Text & "' and {tblstok.kode_barang}='" &
Microsoft.VisualBasic.Right(ListBox1.Text, 5) & "'"

CRV.ReportSource = "lap stok.rpt"


CRV.RefreshReport()
End Sub

Gambar berikut ini menunjukan laporan stok barang secara umum dalam periode bulan dan tahun tertentu.

Gambar 5.19 Laporan stok barang bulanan

Coding :
Private Sub btnbulanumum_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnbulanumum.Click
CRV.SelectionFormula = "MONTH({tblstok.tanggal})=(" &
Month(dtpbulanan.Text) & ") and YEAR({tblstok.tanggal})=(" &
Year(dtpbulanan.Text) & ")"

CRV.ReportSource = "LAP stok umum ok.rpt"


CRV.RefreshReport()
End Sub

Dalam menu ini dapat dilihat pula laporan stok barang harian, mingguan dan laporan bulanan