Apakah dokumen yang sudah masuk mau dirubah juga jadi 5 digit? atau tetap 4 digit ?
Fungsi berikut bisa digunakan untuk get number terakhir tapi tidak mengubah penomoran yang lama:
Public Function GetNo(tgl As Date) As String
Dim strDummy As String
strDummy = Nz(DMax("RIGHT(No_Transaksi,5)", "tbl_Order", "No_Transaksi LIKE 'BKS/" & Format(tgl, "mm") & "/" & Format(tgl, "yyyy") & "/*'"), "")
If strDummy = "" Then
GetNo2 = "BKS/" & Format(tgl, "mm") & "/" & Format(tgl, "yyyy") & "/00001"
Else
If Left(strDummy, 1) = "/" Then
strDummy = Right(strDummy, 4)
End If
GetNo2 = "BKS/" & Format(tgl, "mm") & "/" & Format(tgl, "yyyy") & "/" & Format(Val(strDummy) + 1, "00000")
End If
End Function
Bisakah Mas Idwan mengikuti logika fungsi tersebut ? Tolong tanyakan bagian yang tidak dipahami.
Bisa di coba di immediate window dengan memasukkan seperti ini:
Penerapannya bisa seperti ini:
Private Sub Tgl_AfterUpdate()
On Error GoTo Error_Tgl
'Format KRW/10/2007/0001
'Misal skrg bulan 10/2007 - cek apakah ada nomor dgn format KRW/10/2007
'Kalo tdk ada nomor mulai dengan KRW/10/2007/0001, kalo sdh ada no tsb, tinggal dicari
'4 digit terakhir di Integer-kan dan ditambah 1
Nourut.Value = Getno(me.tgl)
Exit_Tgl:
Exit Sub
Error_Tgl:
MsgBox Err.Number & vbCrLf & Err.Description
Resume Exit_Tgl
End Sub
Aksan Kurdin
On 4/21/2011 2:23 PM, Darsono wrote:
Hallo mas idwan, smoga dapat membantu, coba di check statement yang mencari no tertinggi, sebatas yang saya lihat ada du hal yg harus di ganti : [No_transaksi] Like '" & strKriteria & "*'"), 4)) menjadi : [No_transaksi] Like '" & strKriteria & "*'"), 5)) dan strNoUrut = Format(intNoUrut, "0000") menjadi : strNoUrut = Format(intNoUrut, "00000") ada yang lain? Darsono --- On Thu, 4/21/11, IdwanATuharea <idwan_rmk@yahoo.co.id> wrote: From: IdwanATuharea <idwan_rmk@yahoo.co.id> Subject: [belajar-access] No Urut - Sudah Mentok - Bgmna Nambahnya? To: "Belajar MsAccess" <belajar-access@yahoogroups.com> Date: Thursday, April 21, 2011, 1:40 PM Dear Friend, Dulu saya dapat cara untuk membuat No. Urut dgn script seperti dibawah ini dari Mas MBA (thanks a lot mas..) : Private Sub Tgl_AfterUpdate() On Error GoTo Error_Tgl 'Format KRW/10/2007/0001 'Misal skrg bulan 10/2007 - cek apakah ada nomor dgn format KRW/10/2007 'Kalo tdk ada nomor mulai dengan KRW/10/2007/0001, kalo sdh ada no tsb, tinggal dicari '4 digit terakhir di Integer-kan dan ditambah 1 strBulan = Format(Month(Tgl.Value), "00") strTahun = Format(Year(Tgl.Value), "0000") strKriteria = "BKS/" & strBulan & "/" & strTahun & "/" TGL_BAYAR = Format(Tgl, "dd mm yy") If DCount("No_transaksi", "tbl_order", "[No_transaksi] Like '" & strKriteria & "*'") = 0 Then intNoUrut = 1 Else intNoUrutTertinggi = CInt(Right(DMax("No_transaksi", "tbl_Order", "[No_transaksi] Like '" & strKriteria & "*'"), 4)) intNoUrut = intNoUrutTertinggi + 1 End If strNoUrut = Format(intNoUrut, "0000") Nourut.Value = strKriteria & strNoUrut Exit_Tgl: Exit Sub Error_Tgl: MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Tgl End Sub Selama ini berjalan mantaabb...tapi problenya sekarang transaksinya lebih dar 9999 trx, mohon BANTUANNYA kalo untuk dirubah ke max transaksi 99999 atau unlimited. Saya sudah coba dengan merubah strNoUrut = Format(intNoUrut, "00000"), tapi No. Urutnya tidak berubah terus di 10000. Saya tunggu nih...quick and good respondnya.... Thanks, Idwan | |
No comments:
Post a Comment