Bissmillahirrahmanirrahim .....
Assalamualaikum,,
lagi asik ngoding nih saya, sambil dengerin lagu-lagu rhoma irama, asyikk nyaaa..
haha, dan tiba-tiba saya ingat sama blog lagi, tiba-tiba saya ingin berbagi lagi ..
Kali ini saya mau bahas tentang penomoran otomatis, mungkin sebagian banyak blog-blog sudah membuat bahasan ini, tapi untuk memudahkan teman-teman yang membutuhkan penomoran otomatis ini ya saya mau berbagi kemampuan saya sama kalian..
Penomoran otomatis merupakan sebuah metode atau cara yang digunakan dalam sebuah program untuk mempermudah mengklasifikasikan data sesuai identitas data itu sendiri, data yang sifatnya kontinu akan sangat merepotkan apa bisa dibuat dan atau diinput secara manual, guna mempermudah hal tersebuh dan sekaligus meminimalisir kesalahan, maka perlu dibuatkan penomoran otomatis sesuai dengan yang diperlukan oleh data tersebut.
Berikut contoh sederhana dari sebuah penomoran otomatis:
1. Penomoran sederhana pada bahasa basic (visual basic)
Contoh Kasus:
Semisal, akan dibuat penomoran otomatis untuk mengurutkan data barang, dengan ketentuan penomoran adalah sebagai berikut:
- 1 digit pertama merupakan inisial dari "barang".
- 2 digit kedua merupakan tanggal penginputan.
- 2 digit ketiga merupakan bulan penginputan.
- 2 digit keempat merupakan tahun penginputan.
- 4 digit terakhir merupakan urutan dari penginputan data.
Script/listingnya seperti di bawah ini:
Sub nomat() Dim no, oto, tgl, bln, thn As String Adodc1.RecordSource = "select * from BARANG" Adodc1.Refresh tgl = Format(Date, "DD") bln = Format(Date, "MM") thn = Format(Date, "YY") If Adodc1.Recordset.RecordCount = 0 Then oto = "B" + bln + tgl + thn + "0001" Else Adodc1.Recordset.MoveLast no = Right(Adodc1.Recordset.Fields(0), 4) + 1 oto = "B" & bln + tgl + thn & Right("000" & no, 4) End If tnomor = oto End Sub
Penjelasan Script:
Membuat 5 buah variabel (no, oto, tgl, bln, dan thn) dalam bentuk string atau karakter.Dim no, oto, tgl, bln, thn As String
Adodc1.RecordSource = "select * from BARANG" Adodc1.Refresh
Membuka / mengambil data yang berada dalam tabel barang yang sebelumnya sudah terkoneksi menggunakan objek ADO.
Memecah tanggal, bulan, dan tahun kedalam masing-masing variabel yang sudah dibuat.tgl = Format(Date, "DD") bln = Format(Date, "MM") thn = Format(Date, "YY")
If Adodc1.Recordset.RecordCount = 0 Then oto = "B" + bln + tgl + thn + "0001" Else Adodc1.Recordset.MoveLast no = Right(Adodc1.Recordset.Fields(0), 4) + 1 oto = "B" & bln + tgl + thn & Right("000" & no, 4) End If
Membuat kondisi untuk penomoran tomatis, dengan kondisi "jika data pada tabel barang masih kosong (Adodc1.Recordset.RecordCount = 0) maka variabel oto = "B" + bln + tgl + thn + "0001" (B0210120001), selain itu / jika tabel barang sudah berisi maka, langsung pilih ada paling terakhir (Adodc1.Recordset.MoveLast) kemudian menentukan isi dari variabel "no" dengan menyeleksi karakter yang terdapat pada field pertama yaitu 4 karakter dari akhir dan ditambahkan 1 (Right(Adodc1.Recordset.Fields(0), 4) + 1), kemudian mementukan kembali isi dari variabel "oto" = "B" & bln + tgl + thn & Right("000" & no, 4) (B0210120002) dan seterusnya".
Terakhir menampilkan nomor yang berada variabel "oto" tersebut kedalam textbox yang diinginkan.
text1.text=oto
Script yang sudah dijelaskan diatas disimpan kedalam sebuah variabel bebas (sub) dengan nama "sub nomat()" .
Sampai disini dulu untuk membuat penomoran otomatis dalam bahasa pemrgraman visual basic.
silahkan dikembangkan sesuai kebutuhan.
^.^ happy scripting ^.^
6 comments
commentswah makasih nih, penjelasannya mudah dipahami.
Replysaya pake database SQL, ko debug di bagian MoveLast nya ya... gmana nih?
wah makasih sekali ya mas, tutorialnya sangad membantu..
Replynb:saya minta listing membuat validasi stok barang saat penjualan melebihi stok barang yang ada.
debugnya kayak gimana gan ??
ReplySama2 gan .. ,
Replyutk itu, tinggal di kondisikan aja gan,
misal :
a = textbox jumlah beli
b = field stok
if a > b then
msgbox "Stok Barang Kurang"
else
val(a) - Val(b) -->> Untuk Pengurangan Stok Barang
end if
simple nya seperti itu, tinggal di kembangkan lagi sesuai program yang agan buat..
Semoga Membantu CMIIW
bos saya mau nnya, kq pada listing ne jdi error?
ReplyAdodc1.Recordset.MoveLast
no = Right(Adodc1.Recordset.Fields(0), 4) + 1
oto = "B" & bln + tgl + thn & Right("000" & no, 4)
Sory gan, kalo boleh tw, keterangan debug nya apa?
Replykarna, ane coba scriptnya barusan work properly..
tks