0% found this document useful (0 votes)
278 views16 pages

Stok Coding

This document contains code for a login form, a menu form, and a goods out form for a basic inventory management system in Visual Basic. The login form authenticates user credentials against a database and opens the menu form if valid. The menu form initializes some labels and allows navigation to goods in/out forms. The goods out form generates automatic outbound numbers, populates dropdowns from databases, and allows adding/removing goods rows. It also calculates totals and updates databases on form submission.

Uploaded by

Achmad Khakiki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
278 views16 pages

Stok Coding

This document contains code for a login form, a menu form, and a goods out form for a basic inventory management system in Visual Basic. The login form authenticates user credentials against a database and opens the menu form if valid. The menu form initializes some labels and allows navigation to goods in/out forms. The goods out form generates automatic outbound numbers, populates dropdowns from databases, and allows adding/removing goods rows. It also calculates totals and updates databases on form submission.

Uploaded by

Achmad Khakiki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 16

1.

log in
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

2. menu utama
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

3. barang keluar
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

4. laporan master
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

5. laporan barang masuk


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

6. laporan barang keluar


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

7. laporan stok barang


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

8. stok barang umum


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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy