Autonumber merupakan sebuah program yang dibuat untuk membantu user menyusun dengan rapih suatu data menggunakan sistem per nomor.
Untuk kodingannya bisa di coppast di bawah ini, nanti saya akan memberi penjelasan dari setiap kodingannya.
Public Function autonumber() As String
Dim cmmd As OleDbCommand
Dim dreader As OleDbDataReader
Dim strTemp As String
Dim nilaiauto As String
Dim sql As String
sql = "SELECT * FROM Pelanggan ORDER BY IdPelanggan DESC"
cmmd = New OleDbCommand(sql, cnn)
dreader = cmmd.ExecuteReader
If dreader.HasRows = True Then
dreader.Read()
strTemp = Mid(dreader.Item("IdPelanggan"), 3, 10)
nilaiauto = Val(strTemp) + 1
autonumber = "IP" & Mid("0000000000", 1, 10 - nilaiauto.Length) & nilaiauto
Else
autonumber = "IP0000000001"
End If
dreader.Dispose()
Return autonumber
End Function
Penjelasan:
Public Function autonumber() As String
End Function
Penjelasan: supaya kita dapat mengakses function autonumber dimana saja dan kapan saja, dan kita dapat mengembalikan sebuah nilai (return value)
Dim cmmd As OleDbCommand
Dim dreader As OleDbDataReader
Dim strTemp As String
Dim nilaiauto As String
Dim sql As String
Penjelasan: kita sedang mendeklarasikan beberapa variable, seperti variable cmmd untuk melakukan eksekusi atau perintah. Variabel dreader untuk membaca data dari sebuah database yang terkoneksi ke dalam program. Variabel strTemp, nilaiauto, dan sql untuk mengolah data bertipe ‘teks’.
sql = "SELECT * FROM Pelanggan ORDER BY IdPelanggan DESC"
Penjelasan: fungsi variabel sql untuk menampung query sql dimana kita melihat/mencari/memanggil/mengambil data di tabel Pelanggan berdasarkan IdPelanggan secara berurutan dari yang terbesar hingga yang terkecil (Z-A, 9-0).
cmmd = New OleDbCommand(sql, cnn)
dreader = cmmd.ExecuteReader
Penjelasan: fungsi cmmd sebagai instantiated object dari constructor class oledbCommand dengan parameter (Sintax SQL yang aktif, Connection yang aktif). Dan execute SQL sintak dengan perintah ExecuteReader (hanya menampung data dari hasil SQL ).
If dreader.HasRows = True Then
dreader.Read()
strTemp = Mid(dreader.Item("IdPelanggan"), 3, 10)
nilaiauto = Val(strTemp) + 1
autonumber = "IP" & Mid("0000000000", 1, 10 - nilaiauto.Length) & nilaiauto
Else
autonumber = "IP0000000001"
End If
Penjelasan: Kalau data dalam dReader hasil ekseskusi ada datanya, maka lakukan perintah dibawah. Membaca dreader. assignment variable strTemp dengan field IdPelanggan, mulai kolom ke 3 sebanyak 10 karakter. convert strTemp menjadi bentuk angka lalu hasilnya tambahkan 1. Kemudian assign hasilnya ke variable nilaiAuto. Nilaiauto.Length adalah berapa digit yang dimiliki oleh nilai auto. Misal angka 8, berarti lengthnya 1. Angka 10 berarti length nya 2, angka 102 lengthtnya 3. Mid(“000000000”,1,10, nilaiauto) artinya ambil jumlaha digit dari kolom ke 1, sampai karakter ke 10 dikurangi jumlah digit dari nilaiauto.length)
Hasilnya didepan ditampahkan “IP” dan dibelakangnya ditambahkan NilaiAutonya. (misalnya 1, 6, atau 11, atau 120).
kalau data dreader masih kosong maka, assign autonumber menjadi nilai dibawah (IP0000000001)..
dreader.Dispose()
Return autonumber
Penjelasan: fungsi dari variabel dreader akan di tutup, dan mengembalikan data ke query dari autonumber. Sepertinya ini mirip dengan looping.
Ya.. Mungkin sampai disini dulu, mohon maaf jika ada hal yang kurang jelas atau salah karena saya juga masih belajar, saya hanya tidak ingin ilmu yang saya miliki sia-sia begitu saja tanpa di amalkan. Kritik dan Saran anda sangat berguna bagi saya. Terima Kasih!
Ouh iya, satu lagi anda bisa memvariasikan query atau code diatas sesuka anda, jika Logika anda sudah jalan jangan hanya terpaku pada query yang saya berikan. Jangan sampai Sarjana Komputer (S.Kom) menjadi Sarjana Copy Paste (S.cp) hehehe :P
0 komentar:
Posting Komentar