HENDIKA

Sunday, 27 October 2013


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 :

kita juga mengedit dengan mendouble klik pada subitem lisviewnya :D

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