Simple Auto Number dengan VB

Pada tutorial kali ini kita akan belajar membuat auto number dengan Query(database MySql) dan penerapannya di VB.net. contoh kasus, kita mempunyai tabel barang dengan atribut [kd_barang, nama_barang, harga barang]. Nah untuk menjaga agar kd_barang terus berurut maka kita harus membuat kd_barang secara otomatis pada saat prosess pengentrian data barang. Dan format kd_barang berupa 4 digit karakter yang di awali dengan huruf ”Y” contoh : Y001. Querynya Sebagai berikut :
 
SELECT CONCAT( 'Y' ,LPAD(( RIGHT( MAX(kd_barang),3)+1),3,'0')) as kode FROM barang;

Keterangan : Query di atas di ambil dari websitenya pak ahcmatim http://achmatim.net untuk mengetahui penjelasan lengkapnya tentang query di atas bisa langsung kunjungi websitenya pak achmatim saja :)

Hmm... terus bagamana penerapannya di vb.net?? Ok, pertama2 siapkan formnya dengan beberapa kontrol yang di perluakan seperti textbox dan kontrol yang lain yang dianggap penting menurut teman-teman. Contoh formnya :


Selanjutnya, Ada hal yang perlu kita lakuakan sebelum memulai tahap koding yaitu kita harus membuat data source (DNS) terlebih dahulu menggunakan bantuan pihak ketiga (ODBC 3.51 Driver) agar project kita terkoneksi ke database MySql. alternatif lain yang lebih mudah yaitu dengan menambahkan file MySql.Data.dll keproject kita.

Berikut adalah sub program untuk membuat AutoNumbernya :
Private Sub autonumber()
Try
cmd = New MySqlCommand("SELECT CONCAT( 'Y' ,LPAD(( RIGHT( MAX(kd_brg),3)+1),3,'0')) as kode FROM barang", con)
reader = cmd.ExecuteReader
If reader.Read Then
TextBox1.Text = reader.Item("kode")
Else
TextBox1.Text = "Y001"
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub

Kode Lengkapnya Sebagai berikut :
Imports MySql.Data.MySqlClient
Public Class Form1
Public strKoneksi As String = "server=localhost;uid=root;pwd=;database=auto"
Dim cmd As MySqlCommand
Dim reader As MySqlDataReader
Dim con As New MySqlConnection(strKoneksi)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If con.State = ConnectionState.Open Then con.Close()
con.Open()
autonumber()
End Sub
Private Sub autonumber()
Try
cmd = New MySqlCommand("SELECT CONCAT( 'Y' ,LPAD(( RIGHT( MAX(id),3)+1),3,'0')) as id_kd FROM autonumber", con)
reader = cmd.ExecuteReader
If reader.Read Then
TextBox1.Text = reader.Item("id_kd")
Else
TextBox1.Text = "Y001"
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
End Class

Sumber :

0 Response to "Simple Auto Number dengan VB"

Posting Komentar