Oke kawan sedit lagi nih tambahan mudah-mudah gak boring hehehehehe oke langsung aja liat di bawah untuk pembahasanya:
pada dasarnya penomoran otomatis memilik beberapa fungsi sebagai berikut :
Nah berikut ini VBA code beserta penjelasanya... saya berikan 2 contoh format penomeran otomatis dan VBA selamat anda tau konsep penomoran otomatisnya sebenernya kaliat akan dengan mudahnya membuat penomoran otomatis dengan format penomoran yang di perlukan
Untuk penomoran otomatis berurutan P-0001, P-0002, P-0003, berikut ini VBAnya :
pada dasarnya penomoran otomatis memilik beberapa fungsi sebagai berikut :
1.Menghindari Penyalahgunaan Dokumen
2.Menghindari Penomoran Dokumen yang ganda
3.Memudahkan dalam control penggunaan dokumen
4.Memudahkan dalam penulusuran (trace) ketika terjadi dokumen yang hilang.
5.Pengunaan Nomer terurut merupakan salah satu ciri dari dokumen yang baik yang bisa di gunakan
untuk bahan pemeriksaan ( auditing)
Untuk penomoran otomatis berurutan P-0001, P-0002, P-0003, berikut ini VBAnya :
Private Sub cmdbaru_Click()
On Error GoTo cmdbaru_Click_Err
Dim no
DoCmd.GoToRecord , , acLast ===è Melakukan pengecekan record terakhir pada table
no = Right(No_Pelanggan, 4) ===è Pengemabilan karakter sebanyak 4 digit sebelah kanan Cth 0001, 0002
no = Val(no) + 1 ===è Konversi dari type data text ke numeric sehingga bisa di lakukan penambahan (+1)
no = Trim(Str(no)) ==è Untuk menghilangkan Spasi dan meng konversi kembali ke nilai string
no = Mid("0000", 1, 4 - Len(no)) + no ==è untuk mematikan 4 digit
DoCmd.GoToRecord , , acNewRec ==è menambahkan data baru dalam table
No_Pelanggan = "P-" + no ==è Menampilkan No pelanggan dengan format “P- Nomer berurut”
Nama_Pelanggan.SetFocus =====è Memberi Fokus Pada Nama Pelanggan
nonaktif ===è Procedure aktivasi button yang sebelumnya kita buat
rubah = True ====è variabel perubahan data
cmdbaru_Click_Exit:
Exit Sub
cmdbaru_Click_Err: ======> error handling untuk table dalam keadaan kosong
No_Pelanggan = "P-0001"
Nama_Pelanggan.SetFocus Error
nonaktif
rubah = True
Resume cmdbaru_Click_Exit
End Sub
Oke yang berikut ini jika penomoran otomatis dengan format 2 digit pertama tahun sedang berjalan dan 4 digit berikutnya nomer berurut sehingga nanti akan muncul no otomatis sebagai berikut : 110001, 110002, 110003, Oke ini VBAnya beserta pembahasannya
On Error GoTo cmdbaru_Click_Err
Dim tgl, no ==è deklarasi variable variant
tgl = Format(Date, "yy") ==è mengisi variable tanggal dengan 2 digit tahun tanggal sistem komputer anda
DoCmd.GoToRecord , , acLast
If Left(No_faktur, 2) = tgl Then ==è pengecekan kondisi jika 2 digit pertamanya sbernilai variabel tgl ( true)
no = Right(No_faktur, 4)
no = Val(no) + 1
no = Trim(Str(no))
no = Mid("0000", 1, 4 - Len(no)) + no Blok program yang di jalankan ketika kondisi true
Else
no = "0001“ =====è memberi nilai awal jika kondisi table dalam keadaan kosong dan berganti tahun
End If
DoCmd.GoToRecord , , acNewRec
No_faktur = tgl + no ====è format penomoran oto matis cth : 110001,110002
No_Pelanggan.SetFocus
nonaktif
cmdbaru_Click_Exit:
Exit Sub
cmdbaru_Click_Err: ===================> ini error handdlingnya
DoCmd.GoToRecord , , acNewRec
No_faktur = tgl + no
No_Pelanggan.SetFocus
nonaktif
Resume cmdbaru_Click_Exit
End Sub
Selamat Mencoba semoga bermanfaat :)
Komentar