Aplikasi Stok Barang

 

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.

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

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

 

 

    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

                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.

 

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.

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.

 

Gambar 5.7 Form supplier

5.10  Form Customer

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

 

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

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

        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

        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

                    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

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

            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 & "")

                        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

 

    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")

            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 :

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.

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.

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"

        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

 

        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