Buka VB anda dan desaign Form Sedemikian rupa, tidak usah mirip-mirip sekali asalkan sudah cukup saja seperti diatas baik buttonnya, textboxtnya, comboboxnya, label, dan Listviewnya :
Pada saat di form dijalankan di tekan F5 maka akan tampil seperti gambar dibawah ini, seperti inilah jalan step2 program ini dijalankan :
Gambar 1
Semua textboxt dan combobox tidak bisa di ketik atau pun dipilih. serta tombol simpan, hapus dan batal tidak bisa klik. lalu pada saat di klik tombol keluar maka form tersebut akan keluar. Hal ini serupa apabila tekan gambar silang di pojok kanan atas maka Form tersebut akan keluar serta apabila kita tekan tombol esc pada keyboard maka akan keluar dan juga apabila kita tekan tombol Alt + F4 pada keyboard maka tombol tersebut akan keluar. Dan apabila kita klik tombol baru maka kejadian pada form akan berubah seperti dibawah ini :
Gambar 2
Pada gambar diatas seluruh Tombol tidak bisa diklik dan hanya textbox kode barang saja yang bisa diketik. maka jika kita klik gambar silang pada pojok kanan atas form ini tidak bisa keluar. bila kita tekan Esc pada keyboard juga demikian dan juga bila kita tekan tombol Alt + F4 juga tak bisa keluar di klik keluar juga gak bisa. yang bisa kita lakukan hanya mengetikkan pada textboxt Kode Barang nya saja. apabila ketikkan sesuatu maka form ini akan berubah kejadiannya menjadi seperti dibawah ini :
Gambar 3
Nah pada gambar di atas yang bisa di muncul tombol batal oleh karena itu form ini masih belum bisa di Close. Apabila di tekan Esc maka kejadian pada form ini akan berubah menjadi seperti gambar 1 di atas. dan apabila kita enterkan pada textboxt kode barang tersebut maka kejadian akan berubah apabila kode barang tersebut belum ada pada database maka otomatis akan berpindah focus pada textbox nama barang dan textboxt akan di disable. dan tombol simpan akan muncul. pada saat di tekan enter pada textboxt Nama Barang jika nama barang kosong maka akan keluar pesan "Masukan Nama Barang". Jika sudah ada tulisannya pada textbox nama barang dan di tekan enter maka Form ini akan berubah kejadian seperti gambar dibawah ini :
Gambar 4
Pada gambar diatas satuan hanya bisa di pilih dan di ketik huruf depannya saja. Contoh di tekan huruf "B" maka akan muncul Bungkus tulisannya ditekan huruf "L" maka akan muncul Lusin Tulisannya dan bila ditekan huruf "K" maka akan muncul Karton tulisannya dan disini bila di ketik huruf atau angka selain itu tidak ada respon apa2. disini kita buat properties combobox nya. Pilih Dropdown Style menjadi Dropdown List. maka hanya bisa diketik huruf selain huruf depan pada list yang ada pada combobox tidak bisa di ketik. bila di tekan enter maka akan terfokus ke harga barang textboxt dan apabila ditekan enter pada harga barang maka akan terfokus ke stok textbox dan kondisi form kita seperti dibawah ini :
Gambar 5
bila ditekan diarahkan mouse ke simpan maka tombol simpan akan seperti bercahaya kuning. dan apabila kita tekan enter pada textbox stok ataupun di klik pada tombol simpan maka akan data akan tersimpan. dan muncul pesan seperti gambar dibawah ini :
Gambar 6
Bila di klik Ok akan nampak data kita sudah tersimpan dalam database. dan ditampilkan dalam listview. apabila kita mau edit ataupun hapus data nya maka kita klik baru kembali dan ketikkan kode barangnya yang ada pada databasenya dan ditekan enter, dan kondisi akan berubah seperti gambar dibawah ini :
tombol simpan berubah secara otomatis menjadi tombol edit dan icon simbolpun berubah dan kita edit lah apa yang salah atau hapus.
kita juga bisa mengapus atau edit pada list view nya langsung dengan cara mengklik kanan pada subitem listviewnya. seperti dibawah ini :
nah ini dia modul dari program diatas :
Imports MySql.Data.MySqlClient
Imports System.Text.RegularExpressions
Module Module_Penjualan
Dim db As New MySql.Data.MySqlClient.MySqlConnection
Dim sql As String
Dim rs As MySqlDataReader
Dim cmd As MySqlCommand
Public Sub koneksi_database()
sql = "server = localhost ; uid = root ; database = db_penjualan"
Try
db.ConnectionString = sql
db.Open()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Public Sub isi_tabel_barang()
Form_Barang.lv.Items.Clear()
sql = "select * from tbl_barang order by kode_brg"
cmd = New MySqlCommand(sql, db)
rs = cmd.ExecuteReader
Try
Dim no As Integer = 0
While rs.Read
no += 1
Dim isi As New ListViewItem
isi.Text = no
isi.SubItems.Add(rs("kode_brg"))
isi.SubItems.Add(rs("nama_brg"))
isi.SubItems.Add(rs("satuan"))
isi.SubItems.Add(rs("harga_brg"))
isi.SubItems.Add(rs("stok"))
Form_Barang.lv.Items.Add(isi)
End While
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
rs.Close()
End Sub
Public Sub bersih_barang()
Form_Barang.kode_barang.Text = ""
Form_Barang.nama_barang.Text = ""
Form_Barang.satuan.Text = ""
Form_Barang.harga_barang.Text = ""
Form_Barang.stock.Text = ""
tampil_satuan_barang()
End Sub
Public Sub tabel_barang()
Form_Barang.lv.Columns.Add("No", 30, HorizontalAlignment.Center)
Form_Barang.lv.Columns.Add("Kode Barang", 80, HorizontalAlignment.Center)
Form_Barang.lv.Columns.Add("Nama Barang", 130, HorizontalAlignment.Left)
Form_Barang.lv.Columns.Add("Satuan", 80, HorizontalAlignment.Center)
Form_Barang.lv.Columns.Add("Harga Barang", 80, HorizontalAlignment.Right)
Form_Barang.lv.Columns.Add("Stok", 80, HorizontalAlignment.Right)
Form_Barang.lv.GridLines = True
Form_Barang.lv.FullRowSelect = True
Form_Barang.lv.View = View.Details
End Sub
Public Sub enter_kode()
sql = "select * from tbl_barang where kode_brg = '" & Form_Barang.kode_barang.Text & "'"
cmd = New MySqlCommand(sql, db)
rs = cmd.ExecuteReader
rs.Read()
If Form_Barang.kode_barang.Text = "" Then
MsgBox("Kode Barang Tidak Boleh Kosong", , "Informasi")
Else
If rs.HasRows() Then
Form_Barang.kode_barang.Text = rs("kode_brg")
Form_Barang.nama_barang.Text = rs("nama_brg")
Form_Barang.satuan.Text = rs("satuan")
Form_Barang.harga_barang.Text = rs("harga_brg")
Form_Barang.stock.Text = rs("stok")
Form_Barang.nama_barang.Focus()
aktif_form_barang(0, 1)
aktif_tombol_barang(0, 1, 1, 1, 0)
Form_Barang.btn_simpan.Text = "Edit"
Form_Barang.btn_simpan.Image = Form_Barang.ImageList1.Images(1)
Form_Barang.nama_barang.Focus()
Form_Barang.nama_barang.SelectAll()
Else
aktif_form_barang(0, 1)
aktif_tombol_barang(0, 1, 0, 1, 0)
Form_Barang.btn_simpan.Text = "Simpan"
Form_Barang.btn_simpan.Image = Form_Barang.ImageList1.Images(0)
Form_Barang.nama_barang.Focus()
Form_Barang.nama_barang.SelectAll()
End If
End If
rs.Close()
End Sub
Public Sub aktif_tombol_barang(ByVal a1 As Boolean, ByVal a2 As Boolean, ByVal a3 As Boolean, ByVal a4 As Boolean, ByVal a5 As Boolean)
Form_Barang.btn_baru.Enabled = a1
Form_Barang.btn_simpan.Enabled = a2
Form_Barang.btn_hapus.Enabled = a3
Form_Barang.btn_batal.Enabled = a4
Form_Barang.btn_keluar.Enabled = a5
End Sub
Public Sub aktif_form_barang(ByVal a1 As Boolean, ByVal a2 As Boolean)
Form_Barang.kode_barang.Enabled = a1
Form_Barang.nama_barang.Enabled = a2
Form_Barang.satuan.Enabled = a2
Form_Barang.harga_barang.Enabled = a2
Form_Barang.stock.Enabled = a2
End Sub
Public Sub tampil_satuan_barang()
Form_Barang.satuan.Items.Clear()
Form_Barang.satuan.Items.Add("Bungkus")
Form_Barang.satuan.Items.Add("Lusin")
Form_Barang.satuan.Items.Add("Karton")
End Sub
Public Sub hapus_barang()
sql = "delete from tbl_barang where kode_brg= '" & Form_Barang.kode_barang.Text & "'"
cmd = New MySqlCommand(sql, db)
If MsgBox("Yakin Ingin Anda Hapus", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "Informasi") = MsgBoxResult.Yes Then
Try
cmd.ExecuteNonQuery()
aktif_tombol_barang(1, 0, 0, 0, 1)
aktif_form_barang(0, 0)
bersih_barang()
isi_tabel_barang()
MsgBox("Data Sudah Dihapus", , "Informasi")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
End Sub
Public Sub double_klik_listview_barang()
If Form_Barang.lv.SelectedItems.Count <> 0 Then
sql = "select *from tbl_barang where kode_brg ='" & Form_Barang.lv.SelectedItems(0).SubItems(1).Text & "'"
cmd = New MySqlCommand(sql, db)
rs = cmd.ExecuteReader
rs.Read()
Try
Form_Barang.kode_barang.Text = rs("kode_brg")
Form_Barang.nama_barang.Text = rs("nama_brg")
Form_Barang.satuan.Text = rs("satuan")
Form_Barang.harga_barang.Text = rs("harga_brg")
Form_Barang.stock.Text = rs("stok")
Form_Barang.btn_simpan.Text = "Edit"
Form_Barang.btn_simpan.Image = Form_Barang.ImageList1.Images(1)
aktif_form_barang(0, 1)
aktif_tombol_barang(0, 1, 0, 1, 0)
Form_Barang.nama_barang.Focus()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
rs.Close()
End If
End Sub
Public Sub simpan_edit_barang()
If Form_Barang.btn_simpan.Text = "Simpan" Then
If Form_Barang.nama_barang.Text = "" Then
MsgBox("Nama Barang Tidak Boleh Kosong")
Else
sql = "insert into tbl_barang values ('" & _
Form_Barang.kode_barang.Text & "','" & _
Form_Barang.nama_barang.Text & "','" & _
Form_Barang.satuan.Text & "','" & _
Form_Barang.harga_barang.Text & "','" & _
Form_Barang.stock.Text & "')"
Try
cmd = New MySqlCommand(sql, db)
cmd.ExecuteNonQuery()
bersih_barang()
isi_tabel_barang()
aktif_form_barang(0, 0)
aktif_tombol_barang(1, 0, 0, 0, 1)
MsgBox("Data Sudah Disimpan", , "Informasi")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
ElseIf Form_Barang.btn_simpan.Text = "Edit" Then
If Form_Barang.nama_barang.Text = "" Then
MsgBox("Nama Barang Tidak boleh Kosong")
Else
sql = "update tbl_barang set kode_brg = '" & Form_Barang.kode_barang.Text & _
"', nama_brg = '" & Form_Barang.nama_barang.Text & _
"', satuan = '" & Form_Barang.satuan.Text & _
"', harga_brg = '" & Form_Barang.harga_barang.Text & _
"', stok = '" & Form_Barang.stock.Text & _
"' where kode_brg = '" & Form_Barang.kode_barang.Text & "'"
Try
cmd = New MySqlCommand(sql, db)
cmd.ExecuteNonQuery()
MsgBox("Data Sudah Diedit", , "Informasi")
bersih_barang()
isi_tabel_barang()
aktif_form_barang(0, 0)
aktif_tombol_barang(1, 0, 0, 0, 1)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
End If
End Sub
Public Sub menu_edit_barang()
If Form_Barang.lv.SelectedItems.Count <> 0 Then
sql = "select *from tbl_barang where kode_brg='" & Form_Barang.lv.SelectedItems(0).SubItems(1).Text & "'"
cmd = New MySqlCommand(sql, db)
rs = cmd.ExecuteReader
rs.Read()
Try
Form_Barang.kode_barang.Text = rs("kode_brg")
Form_Barang.nama_barang.Text = rs("nama_brg")
Form_Barang.satuan.Text = rs("satuan")
Form_Barang.harga_barang.Text = rs("harga_brg")
Form_Barang.stock.Text = rs("stok")
Form_Barang.btn_simpan.Text = "Edit"
Form_Barang.btn_simpan.Image = Form_Barang.ImageList1.Images(1)
aktif_form_barang(0, 1)
aktif_tombol_barang(0, 1, 0, 1, 0)
Form_Barang.nama_barang.Focus()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
rs.Close()
End If
End Sub
Public Sub menu_hapus_barang()
If Form_Barang.lv.SelectedItems.Count <> 0 Then
sql = "delete from tbl_barang where kode_brg='" & Form_Barang.lv.SelectedItems(0).SubItems(1).Text & "'"
cmd = New MySqlCommand(sql, db)
If MsgBox("Yakin Ingin Anda Hapus", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "Informasi") = MsgBoxResult.Yes Then
Try
cmd.ExecuteNonQuery()
aktif_tombol_barang(1, 0, 0, 0, 1)
aktif_form_barang(0, 0)
bersih_barang()
isi_tabel_barang()
MsgBox("Data Sudah Dihapus", , "Informasi")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
End If
End Sub
End Module
Dan ini sintaks koding vb nya :
Imports MySql.Data.MySqlClient
Public Class Form_Barang
Private Sub Form_Barang_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
e.Cancel = True
btn_keluar_Click(sender, e)
End Sub
Private Sub Form_Barang_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Escape Then
If btn_batal.Enabled = True Then
btn_batal_Click(sender, e)
ElseIf btn_keluar.Enabled = True Then
btn_keluar_Click(sender, e)
End If
End If
End Sub
Private Sub Form_Barang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
koneksi_database()
tabel_barang()
isi_tabel_barang()
Me.KeyPreview = True
aktif_form_barang(0, 0)
btn_baru.Focus()
tampil_satuan_barang()
aktif_tombol_barang(1, 0, 0, 0, 1)
End Sub
Private Sub btn_baru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_baru.Click
aktif_form_barang(1, 0)
kode_barang.Focus()
aktif_tombol_barang(0, 0, 0, 0, 0)
End Sub
Private Sub btn_keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_keluar.Click
If btn_keluar.Enabled = True Then Me.Dispose()
End Sub
Private Sub kode_barang_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles kode_barang.KeyDown
If e.KeyCode = Keys.Enter Then
enter_kode()
End If
End Sub
Private Sub kode_barang_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles kode_barang.KeyPress
'If InStr("0123456789", e.KeyChar) = 0 And e.KeyChar <> Chr(8) Then e.KeyChar = Chr(0)
End Sub
Private Sub kode_barang_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kode_barang.TextChanged
Dim posisi As Integer
posisi = kode_barang.SelectionStart
Dim x As String
x = Microsoft.VisualBasic.UCase(kode_barang.Text)
kode_barang.Text = x
kode_barang.SelectionStart = posisi
If kode_barang.Text = "" Then
btn_batal.Enabled = False
Else
btn_batal.Enabled = True
End If
End Sub
Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_batal.Click
aktif_form_barang(0, 0)
aktif_tombol_barang(1, 0, 0, 0, 1)
bersih_barang()
End Sub
Private Sub btn_hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_hapus.Click
hapus_barang()
End Sub
Private Sub btn_simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_simpan.Click
simpan_edit_barang()
End Sub
Private Sub lv_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lv.DoubleClick
double_klik_listview_barang()
End Sub
Private Sub EditToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditToolStripMenuItem.Click
menu_edit_barang()
End Sub
Private Sub HapusToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HapusToolStripMenuItem.Click
menu_hapus_barang()
End Sub
Private Sub lv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lv.MouseUp
If lv.SelectedItems.Count <> 0 Then
If e.Button = Windows.Forms.MouseButtons.Right Then
lv.ContextMenuStrip = ContextMenuStrip1
End If
Else
lv.ContextMenuStrip = Nothing
End If
End Sub
Private Sub nama_barang_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles nama_barang.KeyDown
If e.KeyCode = Keys.Enter Then satuan.Focus()
End Sub
Private Sub satuan_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles satuan.KeyDown
If e.KeyCode = Keys.Enter Then harga_barang.Focus()
End Sub
Private Sub harga_barang_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles harga_barang.KeyDown
If e.KeyCode = Keys.Enter Then stock.Focus()
End Sub
Private Sub stock_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles stock.KeyDown
If e.KeyCode = Keys.Enter Then btn_simpan_Click(sender, e)
End Sub
Private Sub nama_barang_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles nama_barang.KeyPress
Dim posisi As Integer
posisi = nama_barang.SelectionStart
nama_barang.Text = AwalKataKapital(nama_barang.Text)
nama_barang.SelectionStart = posisi
End Sub
Public Function AwalKataKapital(ByVal strKalimat As String)
Dim Temp1 As String, Temp2 As String
Dim Lokasi As Integer, i As Integer
Dim huruf As String
Temp1$ = LCase(strKalimat) 'Kecilkan dulu semua
For i% = 1 To Len(Temp1$)
huruf = Chr(Asc(Mid(strKalimat, i%, 1)))
If huruf = "." Or huruf = " " Then
Lokasi% = i% + 1
End If
If i% = 1 Or i% = Lokasi% Then
Temp2$ = Temp2$ + UCase(Chr(Asc(Mid(Temp1$, i%, 1))))
Else
Temp2$ = Temp2$ + LCase(Chr(Asc(Mid(Temp1$, i%, 1))))
End If
Next i
AwalKataKapital = Temp2$
End Function
Private Sub lv_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lv.SelectedIndexChanged
End Sub
End Class
Nama database sesuaikan saja sama listing programnya yah...
Selamat mencoba... kali ini saya tidak mengasih download file nya yah hehehehe :D
0 komentar:
Post a Comment