Membuat Nomor Otomatis di Vb.net



Assalamu’alaikum Wr Wb

Selamat datang di sibukngoding.com. Pada kesempatan kali ini saya akan menjelaskan tentang cara membuat no otomatis dengan menggunakan VB.net. Nomor otomatis sering digunakan dalam pembuatan Aplikasi di Vb.net terutama dalam pembuatan Transaksi. Sebagai contoh nomor otomatis bisa dilihat di postingan saya tentang pembuatan aplikasi penjualan bagian pembuatan transaksi penjualan.

Banyak sekali cara pembuatan nomor otomatis di internet. Dan disini saya akan sampaikan salah satunya yang sering saya pakai. Sebagai contoh saya buat form seperti dibawah ini:

Untuk Source codenya sebagai Berikut

Imports System.Data.Odbc
Public Class Form1
    'Variabel yang akan di pakai
    Dim DSN As String
    Public Conn As OdbcConnection
    Public DA As OdbcDataAdapter
    Public DS As DataSet
    Public CMD As OdbcCommand
    Public RD As OdbcDataReader
    'membuat sub koneksi yang nanti akan di panggil di setiap form
    Public Sub Koneksi()
        DSN = "DSN=konpenjualan" 'sesuaikan dengan DSN yang telah dibuat sebelumnya
        Try
            Conn = New OdbcConnection(DSN)
            Conn.Open()
        Catch ex As Exception
            MsgBox("Koneksi Gagal")
        End Try

    End Sub
    'Source Code nomor otomatis
    Sub Nootomatis()
        Koneksi()
        Dim Urutan As String
        Dim Hitung, Cari As Long

        CMD = New OdbcCommand("Select * from penjualan where no_penjualan in (select max(no_penjualan) from penjualan)", Conn)
        RD = CMD.ExecuteReader
        RD.Read()
        If Not RD.HasRows Then
            Urutan = "PJ" & Date.Now.Year & "0001"
        Else
            Cari = Microsoft.VisualBasic.Right(RD.GetString(0), 4)
            If Microsoft.VisualBasic.Left(RD.GetString(0), 6) <> "PJ" & Date.Now.Year Then
                Urutan = "PJ" & Date.Now.Year & "0001"
            Else
                Hitung = Microsoft.VisualBasic.Right(RD.GetString(0), 4) + 1
                Urutan = "PJ" & Date.Now.Year & Microsoft.VisualBasic.Right("0000" & Hitung, 4)
            End If
        End If
        RD.Close()
        TextBox1.Text = Urutan
        Conn.Close()
    End Sub
    '--------------------------------------------------
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Pemanggilan sub no otomatis
        Nootomatis()
    End Sub
End Class


Source code diatas saya menggunakan sub koneksi karena untuk menghubungkan data dari database yang kebetulan saya menggunakan database MariaDb. Untuk sub koneksi bisa ditaruh di modul koneksi sama seperti program saya sebelumnya.


Jika dijalankan seperti berikut:

Penjelasan Source Code sebagai berikut. (Sengaja saya pisahkan)

    Sub Nootomatis()
        Koneksi()
        Dim Urutan As String
        Dim Hitung, Cari As Long
        'Pengecekan data dan menampilkan data paling besar nilainya
        CMD = New OdbcCommand("Select * from penjualan where no_penjualan in (select max(no_penjualan) from penjualan)", Conn)
        RD = CMD.ExecuteReader
        RD.Read()
        If Not RD.HasRows Then
            'Jika data kosong, nomor yang tampil dengan format berikut
            Urutan = "PJ" & Date.Now.Year & "0001"
        Else
            'Membaca 4 karakter dari kanan
            'Anda bisa menggantinya jika formatnya bukan 0001
            'Jika format 000001 maka nilai 4 diganti menjadi 6
            Cari = Microsoft.VisualBasic.Right(RD.GetString(0), 4)
            'melakukan pengecekan karakter didepan 0001
            'disitu tertulis 6 karena formatnya PJ2019
            'Ganti nilainya jika memakai format yang berbeda
            If Microsoft.VisualBasic.Left(RD.GetString(0), 6) <> "PJ" & Date.Now.Year Then
                Urutan = "PJ" & Date.Now.Year & "0001"
            Else
                'Menambahkan 1 angka di 4 angka terakhir jika format 0001
                'ubah nilai 4 jika formatnya bukan 0001
                Hitung = Microsoft.VisualBasic.Right(RD.GetString(0), 4) + 1
                Urutan = "PJ" & Date.Now.Year & Microsoft.VisualBasic.Right("0000" & Hitung, 4)
            End If
        End If

Demikian contoh pembuatan nomor otomatis di VB.net. Silahkan dimodifikasi sehinggan bisa membuat nomor otomatis dengan format yang diinginkan.  Jika ada pertanyaan bisa ditanyakan lewat kolom komentar.

Terimakasih atas kunjungannya, Selamat Belajar dan jangan mudah menyerah

Wassalamu’alaikum Wr Wb

Comments

Post a Comment

- Berkomentarlah dengan bijak, Komentar akan di moderasi dahulu sebelum ditampilkan.