Banyak pertanyaan di milis tentang cara membuat nomor baru secara otomatis. Misalnya nomor untuk Surat Jalan dimana nomor tersebut meningkat secara otomatis (sekuensial).
Berikut ini ada sebuah function sederhana untuk membuat nomor Surat Jalan secara otomatis.
Asumsi:
Table bernama: tbl_SuratJalan
Field nomor bernama: NoSuratJalan, type: Text, Size: 10 chars.
Nomor Surat Jalan terdiri dari 4 character pertama berisi prefiks, mungkin untuk kode lokasi, kode department, atau semacamnya. Nomor urut (sekuensial) panjangnya 6 chars.
Function NoBaru()
'Originally created by Haer Talib for RumahAccess.com
Prefiks = "AAbb"
NoBaru = Prefiks & "000000"
tSQL = "SELECT Max(NoSuratJalan) AS LastNo FROM [tbl_SuratJalan] " & _
"WHERE NoSuratJalan > '" & Prefiks & "000000' And NoSuratJalan <= '" & Prefiks & "999999'"
Dim rs1 As Object
Set rs1 = CurrentDb.OpenRecordset(tSQL, dbOpenDynaset, dbSeeChanges)
If Not rs1.EOF Then
LastNo = Val(Right(Nz(rs1!LastNo, "0"), 6))
Else
LastNo = 0
End If
rs1.Close
Set rs1 = Nothing
NoBaru = Prefiks & Format(LastNo + 1, "000000")
End Function
Anda bisa mengkustomasi function di atas untuk keperluan anda.
Unsur-unsur yang perlu dikustomasi adalah:
- Nama Table
- Nama Field untuk nomor
- String untuk Prefiks.
Semoga bermanfaat.
18 komentar:
Sy orang baru di dunia programing.
Mr. gimana kalo penomorannya formatnya seperti ini :
"kode_barang-tahun-00000"
dimana setiap pergaantian tahun, nomor urut otomatis berubah ke awal lagi?
pertanyaan saya sama dengan di atas. apakah bisa penomorannya seperti itu..
saya juga baru dalam menggunakan access ini, apakah bisa access ini dipakai untuk pencatatan surat keluar dan masuk.?
Bagaimana untuk Pengkodean nomor di depan..
Misal :
"0000/AKU/V/2011"
Dan Berubahnya Setiap Pergantian Tahun Saja..!
Bagaimana Jika Hurufnya di bagian depan.
Misal : "0000/AKU/V/2011"
Dimana setiap Pengantian Tahun saja nomornya direset
Bagaimana cara menggunkannya mas, maklum masih baru belajar...thanks
kurang cara penggunaannya mas.
mohon bantuannya
mas saya sudah mencoba yg ini berhasi, tp pas saya coba kombinasi dengan prefiksnya di ganti dg combobox dg pilihan A, b dan c
pas saya coba prefiks a, simpan bisa ngurut a1, a2 dst
pas di pindahin ke b, simpan
bisa ngurut juga b1, b2 dst
tp pas balik ke A lagi, eh balik lagi ke A1 padahal td ud bisa sampe a3 jd tidak bisa lanjut ke a4 begitu jg dg b
pas di cek di tabelnya ternyata isinya cuma 1
gmn ya mas, txs
Yang membuat pos sudah dikubur,.. ga ada balasan komentar dari ke 7 komentar diatas dari tahun 2008 s/d 2014 dan status pos sudah basi. hihihihi....
Ga tanggungjawab bener ni yang punya pos.
Saya coba jawab ni buat anonim komentar nomor 1 :
Ganti kode :
Prefiks = "AAbb"
NoBaru = Prefiks & "000000"
menjadi :
Prefiks = Kode_barang & "-" & format(date,"yyyy") & "-"
NoBaru = Prefiks & "000000"
Maka hasilnya akan menjadi :
"kode_barang-2014-00000" dst... jika record bertambah.
Tentukan kode barangnya sesuai kebutuhan.
Selamat mencoba semoga sesuai keinginan.
Mencoba juga menjawab penanya nomor 3 atau Nature.
Ganti kode :
Prefiks = "AAbb"
NoBaru = Prefiks & "000000"
menjadi :
Prefiks = "/AKU/V/" & format(date,"yyyy") *** tahun akan menyesuaian terhadap tahun system pada komputer anda ****
NoBaru = "0000" & Prefiks
Maka hasilnya akan menjadi :
"0000/AKU/V/2014" dst... jika record bertambah.
Tentukan kode barangnya sesuai kebutuhan.
Selamat mencoba semoga sesuai keinginan.
to Dzik.
Cara menggunakannya pada editor VBA access.
Kalo memang belum tahu sama sekali, saya agak bingung juga memberikan pencerahan, sementara tahunya anda sebatas mana, saya belum tahu. tapi kalo memang belum tahu sama sekali, silahkan belajar dulu dari tingkat dasar.
mencoba menjawab sdr. Rois Muhamad
Jika pengisian berdasarkan pilihan combo = a sukses menjadi a1, a2
dan pilihan combo = b juga berhasil menjadi b1, b2
Namun jika combo dikembalikan ke pilihan combo = a bukan berlanjut menjadi a3 namun balik lagi ke a1, kemungkinan ada kesalahan pada pengetikan sourcenya :
If Not rs1.EOF Then
LastNo = Val(Right(Nz(rs1!LastNo, "0"), 6))
Else
LastNo = 0
End If
rs1.Close
Set rs1 = Nothing
NoBaru = Prefiks & Format(LastNo + 1, "000000")
Jika sudah diperbaiki namun masih tetap balik ke nomor awal, coba index primary field NoBaru nya.
Selamat mencoba.
Mau nanya, saya sudah bisa membuat namun nomor urut tadi tidak terekam pada field, bagaimana cara mengatasinya ...
Kemudian peletakan cara memanggil fungsi ini dimana?
Terimakasih ilmunya mas... sangat membantu.
pa bisa minta file mentahnya kirim ke arikrennn@gmail.com
minta pencerahan gan, gmana klo nomornya pakai angka romawi,contoh: B-000/KW/XI/2017
Supaya nomornya balik ke 1 lagi tiap awal bulan bagaimana?
Posting Komentar