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
Terimakasih infonya,.
ReplyDeleteKunjungi juga http://bit.ly/2wtC5j4