Pada malam hari ini saya akan memposting tentang Membuat Penomoran Otomatis dengan C# dan VB.NET.
Penomoran otomatis biasanya di gunakan ketika kita ingin membuat sebuah program dimana data yang kita inginkan otomatis muncul dengan bentuk yang kita inginkan tanpa harus kita mengetik secara manual,
biasanya penomoran otomatis ada pada penomoran barang,nota dan lain lain
Contoh penomoran dengan format 0001,0002,0003 dan seterusnya
VB.NET
Private conn As SqlConnection Private cmd As SqlCommand Private rd As SqlDataReader Private strconn As String = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123" Private Sub btn_gen1_Click(sender As Object, e As EventArgs) Handles btn_gen1.Click Dim hitung As Long Dim urut As String ' Mempersiapkan koneksi database conn = New SqlConnection(strconn) conn.Open() ' Perintah untuk mendapatkan nilai terbesar dari field nomor cmd = New SqlCommand("select nomor from format1 where nomor in(select max(nomor) from format1) order by nomor desc", conn) rd = cmd.ExecuteReader rd.Read() ' Jika data ditemukan If rd.HasRows Then ' Mengambil 4 karakter kanan terakhir dari field nomor lalu menambahkan dengan 1 hitung = Strings.Right(rd("nomor"), 4) + 1 ' Mengambil 4 karakter kanan terakhir dari string hitung+0000 urut = Strings.Right("0000" & hitung, 4) Else ' Jika tidak ditemukan maka mengisi variable urut dnegna 0001 urut = "0001" End If rd.Close() txt_format1.Text = urut conn.Close() End SubC#
private SqlConnection conn;
private SqlCommand cmd;
private SqlDataReader rd;
private string strconn = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123";
private void btn_gen1_Click(object sender, EventArgs e)
{
long hitung;
string urut;
// Mempersiapkan koneksi database
conn = new SqlConnection(strconn);
conn.Open();
// Perintah untuik mendapatkan nilai terbesar dari field nomor
cmd = new SqlCommand("select nomor from format1 where nomor in (select max(nomor) from format1) order by nomor desc",conn);
rd =cmd.ExecuteReader();
rd.Read();
// Jika data ditemukan
if (rd.HasRows)
{
// Mengambil 4 karakter kanan terakhir dari field nomor lalu menambahkan dengan 1
hitung = Convert.ToInt64(rd["nomor"])+1;
string joinstr = "0000" + hitung;
// Mengambil 4 karakter kanan terakhir dari string joinstr
urut = joinstr.Substring(joinstr.Length-4, 4);
}
else
{
// Jika tidak ditemukan maka mengisi variable urut dnegna 0001
urut = "0001";
}
rd.Close();
txt_format1.Text = urut;
conn.Close();
}
Contoh penomoran dengan format 0001,0002,0003 dan seterusnya
VB.NET
' Mendeklarasikan variable Private conn As SqlConnection Private cmd As SqlCommand Private rd As SqlDataReader Private strconn As String = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123" Private Sub btn_gen2_Click(sender As Object, e As EventArgs) Handles btn_gen2.Click Dim hitung As Long Dim urut As String ' Mempersiapkan koneksi database conn = New SqlConnection(strconn) conn.Open() ' Perintah untuk mendapatkan nilai terbesar dari field nomor cmd = New SqlCommand("select nomor from format2 where nomor in(select max(nomor) from format2) order by nomor desc", conn) rd = cmd.ExecuteReader rd.Read() ' Jika data ditemukan If rd.HasRows Then ' Mengambil 4 karakter kanan terakhir dari field nomor lalu menambahkan dengan 1 hitung = Strings.Right(rd("nomor"), 4) + 1 ' Menambahkan string BRG dengan 4 karakter paling kanan dari string 0000+hitung urut = "BRG" + Strings.Right("0000" & hitung, 4) Else ' Jika tidak ditemukan maka mengisi variable urut dengan BRG0001 urut = "BRG0001" End If rd.Close() conn.Close() txt_format2.Text = urut End SubC#
private SqlConnection conn; private SqlCommand cmd; private SqlDataReader rd; private string strconn = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123"; private void btn_gen2_Click(object sender, EventArgs e) { long hitung; string urut; // Mempersiapkan koneksi database; conn = new SqlConnection(strconn); conn.Open(); // Perintah untuk mendapatkan nilai terbesar dari field nomor cmd = new SqlCommand("select nomor from format2 where nomor in(select max(nomor) from format2) order by nomor desc", conn); rd = cmd.ExecuteReader(); rd.Read(); // Jika data ditemukan if (rd.HasRows) { // Menambahkan data dari field nomor hitung = Convert.ToInt64(rd[0].ToString().Substring(rd["nomor"].ToString().Length - 4,4))+1; string joinstr = "0000" + hitung; // Mengambil 4 karakter kanan terakhir dari string joinstr lalu di tambahkan dengan string BRG urut = "BRG" + joinstr.Substring(joinstr.Length - 4, 4); } else { // Jika tidak ditemukan maka mengisi variable urut dengan BRG0001 urut = "BRG0001"; } rd.Close(); txt_format2.Text = urut; conn.Close(); }
Contoh penomoran dengan format yyyMMddxxx
VB.NET
Private conn As SqlConnection Private cmd As SqlCommand Private rd As SqlDataReader Private strconn As String = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123" Private Sub btn_gen3_Click(sender As Object, e As EventArgs) Handles btn_gen3.Click Dim hitung As Long Dim urut As String ' Mempersiapkan koneksi database conn = New SqlConnection(strconn) ' Perintah untuk mendapatkan nilai terbesar dari field nomor cmd = New SqlCommand("select nomor from format3 where nomor in(select max(nomor) from format3) order by nomor desc", conn) conn.Open() rd = cmd.ExecuteReader rd.Read() ' Jika data ditemukan If rd.HasRows Then ' Jika 8 karakter dari kiri pada field nomor tidak sama dengan Format(Now, "yyyyMMdd") If Strings.Left(rd("nomor"), 8) <> Format(Now, "yyyyMMdd") Then ' Mengisi variable urut urut = Format(Now, "yyyyMMdd") + "0001" Else ' Menambahkan data dari filed nomor hitung = rd("nomor") + 1 ' Mengisi variable urut urut = hitung End If Else ' Jika tidak ditemukan maka mengisi variable urut dengan format date yyyyMMdd+0001 urut = Format(Now, "yyyyMMdd") + "0001" End If rd.Close() conn.Close() txt_format3.Text = urut End SubC#
private SqlConnection conn; private SqlCommand cmd; private SqlDataReader rd; private string strconn = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123"; private void btn_gen3_Click(object sender, EventArgs e) { long hitung; string urut; // Mempersiapkan koneksi database; conn = new SqlConnection(strconn); // Perintah untuk mendapatkan nilai terbesar dari field nomor cmd = new SqlCommand("select nomor from format3 where nomor in(select max(nomor) from format3) order by nomor desc", conn); conn.Open(); rd = cmd.ExecuteReader(); rd.Read(); // Jika data ditemukan if (rd.HasRows) { // Jika 8 karakter dari kiri pada field nomor tidak sama dengan Format(Now, "yyyyMMdd") if (rd["nomor"].ToString().Substring(0, 8) != DateTime.Now.ToString("yyyyMMdd")) { // Mengisi variable urut urut = DateTime.Now.ToString("yyyyMMdd"); } else { // Menambahkan data dari field nomor hitung = Convert.ToInt64(rd["nomor"].ToString())+1; // Mengisi variable urut urut = Convert.ToString(hitung); } } else { // Jika tidak ditemukan maka mengisi variable urut dengan format date yyyyMMdd0001 urut = DateTime.Now.ToString("yyyyMMdd") + "0001"; } rd.Close(); txt_format3.Text = urut; conn.Close(); }
Jalankan program tersebut, berikut screen shot contoh yang saya buat
Anda dapat mendownload source codenya dibawah ini
Untuk password silahkan klik disini
Terima kasih atas kunjugannya semoga bermanfaat