Pada
postingan kali ini yaitu gimana caranya membuat kode yang berurutan berdasarkan
tanggal. Maka jika pada hari berikutnya urutan akan kembali pada urutan 1 tapi
dengan tanggal hari ini. Biasanya ini digunakan pada aplikasi penjualan dan
aplikasi semacamnya, jadi kita bisa mengidentifikasi sebuah transaksi dengan
melihat tanggal dan transaksi itu transaksi keberapa hanya dengan melihat
kodenya. Mari kita mulai...!
Pertama deklarasikan sebuah recordset dibawah option explicit misalnya dengan kode berikut.
Pertama deklarasikan sebuah recordset dibawah option explicit misalnya dengan kode berikut.
Option Explicit
Private Rs As New ADODB.Recorset
Kedua, buat sebuah sub baru misal dengan nama BuatKode.
Public Sub BuatKode()
Ketiga, Panggil kode SQL Databasenya.
Set RsKode = New ADODB.Recordset
RsKode.Open "Select * From Penjualan Where KdJual Like '%" _
& Format(Date, "ddMMyy") &
"%' ORDER BY KdJual" _
, Koneksi, adOpenDynamic, adLockOptimistic
Keempat, Buat permisalan IF dari pemanggilan kode SQL tadi.
If RsKode.BOF Then
txtNoFaktur.Text = "J" & Format(Date, "ddMMyy")
& "0001"
Exit Sub
Else
RsKode.Requery
If Not (RsKode.EOF Or RsKode.BOF) Then
RsKode.MoveLast
End If
Kode = RsKode!KdJual
Kode = Val(Right(Kode, 4))
Kode = Kode + 1
End If
Kelima, Buat Permisalan Jika Digitnya Penuh, disini memakai 4 digit terakhir sebagai jumlah transaksi, jika lebih dari 4 digit bisa dirubah sesuai dengan jumlah digit yang diperlukan.
If Val(Kode) < 10 Then
Kode = "J" & Format(Date, "ddMMyy") &
"000" & Kode
txtNoFaktur.Text = Kode
ElseIf Val(Kode) < 100 Then
Kode = "J" & Format(Date, "ddMMyy") &
"00" & Kode
txtNoFaktur.Text = Kode
ElseIf Val(Kode) < 1000 Then
Kode = "J" & Format(Date, "ddMMyy") &
"0" & Kode
txtNoFaktur.Text = Kode
ElseIf Val(Kode) < 10000 Then
Kode = "J" & Format(Date, "ddMMyy") &
"" & Kode
txtNoFaktur.Text = Kode
Else
MsgBox "Kapasitas Tidak Memadai!", _
vbInformation + vbOKOnly, "Perhatian"
Kode = ""
End If
Secara Keseluruhan Kodenya Sebagai Berikut.
Option Explicit
Private Rs As New ADODB.Recorset
Dim Kode As String
Public Sub BuatKode()
Dim Kode As String
Set RsKode = New ADODB.Recordset
Set RsKode = New ADODB.Recordset
RsKode.Open "Select * From Penjualan Where KdJual Like '%" _
& Format(Date, "ddMMyy") &
"%' ORDER BY KdJual" _
, Koneksi, adOpenDynamic, adLockOptimistic
If RsKode.BOF Then
txtNoFaktur.Text = "J" & Format(Date, "ddMMyy")
& "0001"
Exit Sub
Else
RsKode.Requery
If Not (RsKode.EOF Or RsKode.BOF) Then
RsKode.MoveLast
End If
Kode = RsKode!KdJual
Kode = Val(Right(Kode, 4))
Kode = Kode + 1
End If
If
Val(Kode) < 10 Then
Kode = "J" & Format(Date, "ddMMyy") &
"000" & Kode
txtNoFaktur.Text = Kode
ElseIf Val(Kode) < 100 Then
Kode = "J" & Format(Date, "ddMMyy") &
"00" & Kode
txtNoFaktur.Text = Kode
ElseIf Val(Kode) < 1000 Then
Kode = "J" & Format(Date, "ddMMyy") &
"0" & Kode
txtNoFaktur.Text = Kode
ElseIf Val(Kode) < 10000 Then
Kode = "J" & Format(Date, "ddMMyy") &
"" & Kode
txtNoFaktur.Text = Kode
Else
MsgBox "Kapasitas Tidak Memadai!", _
vbInformation + vbOKOnly, "Perhatian"
Kode = ""
End If
End Sub
Udah dulu ya...Semoga Bermanfaat...
Tidak ada komentar:
Posting Komentar