Public Class Form_Barang
Dim proses As New ClsKoneksi
Dim tbBarang As DataTable
Dim tbSupplier As DataTable
Dim Query As String
Private Sub add()
TxtId.Enabled = True
TxtNama.Enabled = True
CmbMerk.Enabled = True
TxtUkuran.Enabled = True
TxtHarga.Enabled = True
BtnAdd.Enabled = False
BtnSave.Enabled = True
BtnCancel.Enabled = True
BtnDelete.Enabled = False
BtnExit.Enabled = True
BtnEdit.Enabled = False
TxtId.Focus()
End Sub
Private Sub fill_merk()
tbSupplier = proses.ExecuteQuery("select nama_supplier from tb_supplier")
Dim i As Integer
CmbMerk.Items.Clear()
For i = 0 To tbSupplier.Rows.Count - 1
CmbMerk.Items.Add(tbSupplier.Rows(i).Item("nama_supplier"))
Next
If CmbMerk.Items.Count <> 0 Then
CmbMerk.SelectedIndex = 0
End If
End Sub
Private Sub fill_grid()
tbBarang = proses.ExecuteQuery("select id_barang as 'ID Barang',nm_barang as 'Nama Barang',s.nama_supplier as 'Merk',ukuran_barang as 'Ukuran',hrg_barang as Harga,stock as 'Stock' from tb_barang left join tb_supplier s on merk_barang = s.id_supplier ")
DgBarang.DataSource = tbBarang
End Sub
Private Sub init_form()
TxtId.Enabled = False
TxtNama.Enabled = False
CmbMerk.Enabled = False
TxtUkuran.Enabled = False
TxtHarga.Enabled = False
BtnAdd.Enabled = True
BtnSave.Enabled = False
BtnCancel.Enabled = False
BtnDelete.Enabled = False
BtnExit.Enabled = True
BtnCancel.Enabled = False
BtnEdit.Enabled = False
TxtId.Clear()
TxtNama.Clear()
If CmbMerk.Items.Count <> 0 Then
CmbMerk.SelectedIndex = 0
End If
TxtUkuran.Clear()
TxtHarga.Clear()
fill_grid()
End Sub
Private Function isNotEmpty()
If (TxtId.Text = "" Or TxtNama.Text = "" Or TxtHarga.Text = "" Or CmbMerk.Text = "" Or TxtUkuran.Text = "") Then
Return False
Else
Return True
End If
End Function
Private Function getKodeSupplier(ByVal kode As String)
tbSupplier = proses.ExecuteQuery("select id_supplier from tb_supplier where nama_supplier ='" & kode & "' ")
Dim kodeSupplier As String
kodeSupplier = tbSupplier.Rows(0).Item("id_supplier")
Return kodeSupplier
End Function
Private Sub edit()
If isNotEmpty() Then
Query = "Update tb_barang set nm_barang = '" & TxtNama.Text & "',merk_barang = '" & getKodeSupplier(CmbMerk.SelectedItem.ToString) & "',ukuran_barang = '" & TxtUkuran.Text & "',hrg_barang = '" & TxtHarga.Text & "' where id_barang = '" & Trim(TxtId.Text) & "'"
Try
proses.ExecuteNonQuery(Query)
MsgBox("Data berhasil diubah", MsgBoxStyle.Information, Title:="Information")
Call init_form()
Catch ex As Exception
End Try
End If
End Sub
Private Sub Form_Barang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Penjualan_seliDataSet.tb_barang' table. You can move, or remove it, as needed.
' Me.Tb_barangTableAdapter.Fill(Me.Penjualan_seliDataSet.tb_barang)
fill_merk()
fill_grid()
ToolTip1.SetToolTip(BtnAdd, "Add")
ToolTip1.SetToolTip(BtnEdit, "Edit")
ToolTip1.SetToolTip(BtnSave, "Save")
ToolTip1.SetToolTip(BtnDelete, "Delete")
ToolTip1.SetToolTip(BtnCancel, "Cancel")
ToolTip1.SetToolTip(BtnExit, "Exit")
End Sub
Private Sub BtnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
add()
End Sub
Private Sub save()
If Not isNotEmpty() Then
MsgBox("Data belum lengkap, Silahkan priksa kembali", MsgBoxStyle.Critical, "Error")
Else
tbBarang = proses.ExecuteQuery("select id_barang from tb_barang where id_barang = '" & TxtId.Text & "'")
If tbBarang.Rows.Count <> 0 Then
MsgBox("Id barang " & TxtId.Text & " sudah ada", MsgBoxStyle.Critical, "Error")
Else
Query = "insert into tb_barang values ('" & TxtId.Text & "','" & TxtNama.Text & "','" & getKodeSupplier(CmbMerk.SelectedItem.ToString) & "','" & TxtUkuran.Text & "','" & TxtHarga.Text & "' ,0)"
Try
proses.ExecuteNonQuery(Query)
MsgBox("Data berhasil disimpan", MsgBoxStyle.Information, "Sukses")
init_form()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End If
End If
End Sub
Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click
save()
End Sub
Private Sub BtnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEdit.Click
edit()
End Sub
Private Sub fill_form(ByVal row As Integer)
If row < 0 Then
Exit Sub
End If
If Not DgBarang.Rows(row).Cells(0).Value.ToString = "" Then
BtnDelete.Enabled = True
BtnEdit.Enabled = True
BtnSave.Enabled = False
BtnAdd.Enabled = False
BtnCancel.Enabled = True
TxtId.Enabled = False
TxtNama.Enabled = True
CmbMerk.Enabled = True
TxtHarga.Enabled = True
TxtUkuran.Enabled = True
TxtId.Text = DgBarang.Rows(row).Cells(0).Value.ToString
TxtNama.Text = DgBarang.Rows(row).Cells(1).Value.ToString
CmbMerk.SelectedItem = DgBarang.Rows(row).Cells(2).Value.ToString
TxtUkuran.Text = DgBarang.Rows(row).Cells(3).Value.ToString
TxtHarga.Text = DgBarang.Rows(row).Cells(4).Value.ToString
End If
End Sub
Private Sub delete()
If MessageBox.Show("anda yakin ingin hapus", "Konfimasi", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
Return
End If
tbBarang = proses.ExecuteQuery("Select id_barang From tb_stock where id_barang = '" & Trim(TxtId.Text) & "'")
If tbBarang.Rows.Count <> 0 Then
MsgBox("Data sudah masuk transaksi tidak dapat dihapus ", MsgBoxStyle.Critical, Title:="Error")
Return
End If
tbBarang = proses.ExecuteQuery("Select id_barang From tb_barang where id_barang = '" & Trim(TxtId.Text) & "'")
If Not tbBarang.Rows.Count = 0 Then
Query = "delete from tb_barang where id_barang ='" & Trim(TxtId.Text) & "'"
Try
proses.ExecuteNonQuery(Query)
MsgBox("Data berhasil dihapus ", MsgBoxStyle.Information, Title:="Information")
init_form()
Catch ex As Exception
End Try
End If
End Sub
Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click
init_form()
End Sub
Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click
Me.Close()
End Sub
Private Sub TxtHarga_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtHarga.KeyPress
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True
End Sub
Private Sub DgBarang_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgBarang.CellClick
fill_form(e.RowIndex)
End Sub
Private Sub BtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDelete.Click
delete()
End Sub
Private Sub Btnback_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnback.Click
Me.Close()
End Sub
End Class
Tidak ada komentar:
Posting Komentar