Вы находитесь на странице: 1из 20

koneksi

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

login
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
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

Вам также может понравиться