Jam

Rabu, 02 April 2014

Membuat Auto Generate Number di VB.NET

Kali ini yang akan saya share adalah Cara Membuat Auto Generate Angka/Number di VB.NET, ilmu yang sederhana tetapi mudah-mudahan bermanfaat bagi sobat semua, terutama bagi yang sedang mengenyam bangku kuliah di jurusan Teknik Informatika dan sedang berhadapan dengan bahasa Visual Basic .NET.

Biasanya ketika sobat membuat sebuah program yang memerlukan kode anggota atau semacamnya, kita tidak mungkin menginputkan value kode anggota tersebut secara manual. Repot kan? Nah, agar mudah disinilah diperlukan adanya fungsi Auto Generate Number. Prinsip kerjanya adalah dengan menentukan value atau nilai awal kode anggota, kemudian program akan membaca value yang sudah ada di database dan mengenerate value selanjutnya. Misal di database sudah ada nilai "AGT0001", maka program akan otomatis membuat value selanjutnya yaitu "AGT0002".


Membuat Auto Generate Number di VB.NET


Kode Program


Berikut kode program untuk membuat Auto Generate Number di VB.NET:

Sub AutoGenerate()
  Dim connString As String
  connString = "Data Source=OSHA-PC\SQLEXPRESS;Initial Catalog=db_anggota;Integrated Security=True"
  Dim conn As SqlConnection = New SqlConnection(connString)
  Try
    conn.Open()
    Dim cmd As SqlCommand = New SqlCommand("SELECT * FROM tb_anggota ORDER BY kode_anggota DESC", conn)
    Dim dr As SqlDataReader = cmd.ExecuteReader
    dr.Read()
    Dim kode_anggota As String
    Try
      If Not dr.HasRows Then
        kode_anggota = "AGT0001"
      Else
        kode_anggota = Val(Microsoft.VisualBasic.Mid(dr.Item("kode_anggota").ToString, 5, 3)) + 1
        If Len(kode_anggota) = 1 Then
          kode_anggota = "AGT000" & kode_anggota & ""
        ElseIf Len(kode_anggota) = 2 Then
          kode_anggota = "AGT00" & kode_anggota & ""
        ElseIf Len(kode_anggota) = 3 Then
          kode_anggota = "AGT00" & kode_anggota & ""
        End If
      End If
    Catch ex As Exception
      MsgBox(ex.ToString)
    Finally
      textKode.Text = kode_anggota
      conn.Close()
    End Try
  Catch ex As Exception
    MsgBox(ex.ToString)
  End Try
End Sub


Penjelasan


Berikut penjelasan dari kode program tadi agar Sobat Tekno dapat memahaminya:

1. Membaca isi tabel "tb_anggota" dan diurutkan berdasarkan "kode_anggota" secara descending.

SELECT * FROM tb_anggota ORDER BY kode_anggota DESC

2. Menentukan nilai awal "kode_anggota".

kode_anggota = "AGT0001"

3. Perhatikan kode berikut, terdapat angka 5. Disini menyesuaikan panjang karakter, contoh "kode_anggota" panjang karakternya 7 digit. Maka angka tersebut adalah 5 ( Hasil 7 dikurangi 2). Jika ingin membuat panjang 10 digit maka ganti angka 5 menjadi 8 (Hasil 10 dikurangi 2).

kode_anggota = Val(Microsoft.VisualBasic.Mid(dr.Item("kode_anggota").ToString, 5, 3)) + 1

3. Jika "kode_anggota" bernilai 1 digit (Misal 1), maka kode depannya adalah "AGT000" (Contoh: AGT0001).

If Len(kode_anggota) = 1 Then
  kode_anggota = "AGT000" & kode_anggota & ""

4. Jika "kode_anggota" bernilai 2 digit (Misal 10), maka kode depannya adalah "AGT00" (Contoh: AGT0010).

ElseIf Len(kode_anggota) = 2 Then
  kode_anggota = "AGT00" & kode_anggota & ""

5. Jika "kode_anggota" bernilai 2 digit (Misal 100), maka kode depannya adalah "AGT0" (Contoh: AGT0100).

ElseIf Len(kode_anggota) = 3 Then
  kode_anggota = "AGT00" & kode_anggota & ""

6. Menampilkan hasil "kode_anggota" ke TextBox "textKode".

textKode.Text = kode_anggota

Untuk menggunakan fungsi tersebut tinggal memanggilnya dengan perintah Call AutoGenerate() pada saat Form Load.

Sekian dulu tutorial kali ini, semoga bermanfaat untuk sobat semua. Jika masih belum paham atau ada yang ingin ditanyakan, silahkan tulis di komentar. Terima kasih.

0 komentar:

Posting Komentar