DEDE MARCO

Kamis, 13 Juni 2013

vb 6.0


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.



Option Explicit
Private Rs As New ADODB.Recorset
Dim Kode As String

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.



Top of Form
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
Bottom of Form


Udah dulu ya...Semoga Bermanfaat...

Tidak ada komentar:

Posting Komentar