Kamis, 23 Juni 2011

PENOMORAN OTOMATIS DI VISUAL BASIC

Hemmm.. rupa – rupanya VB sangat mendominasi perpostingan di blog saya, yah.. jalan sesuai kata hati aja deh :D, mungkin VB masih mendominasi ide yang ada dipikiran saya. Terima kasih para pengunjung yang terus mengikuti tutorial yang saya suguhkan, sebenarnya materi yang saya angkat sangat sederhana dan hanya membutuhkan sedikit logika dan modal programming, ini hanya untuk memotivasi yang masih belajar saja, saya sendiri mengakui dalama membuat code-code pada VB masih jauh dari kesempurnaan, terutama dalam penggunaan programming, karena pengetahuan saya yang dangkal, mungkin lebih tepatnya program amatiran gitu lah :P, tapi berkaca dari pengalaman bahwa sebuah program walau codenya sangat amatir setelah di.compile dan menjadi executable file bisa menghasilkan sebuah nilai yang mutlak kebenarannya dan tepat hasilnya. Jadi seamatir apapun 1 + 1 hasilnya harus 2!, so mau amatir ato secanggih apapaun kalau sudah di.compile tidak ada bedanya, tapi tetaplah belajar untuk lebih baik [panjang bener basa-basinya :D]
Tujuan dan maksud dari judul posting ini yaitu pembuatan nomor otomatis, nomor disini lebih ke sebuah Nomor Induk atau katakanlah Nomor Seri, yang biasanya digunakan sebagai Primay Key dalam sebuah tabel, otomatisasi ini dibuat guna memudahkan pengguna program dalam penomoran atau pengkodean, contohnya: MA/290411/01, ini seperti no surat, atau CDA-270611-00022, enam angka di tengah merupakan rangkaian angka yang terdiri dari tanggal, bulan dan tahun yang sedang berjalan pada sistem, sementara empat digit paling belakang adalah nomor yang otomatis akan bertambah. bila dibandingkan dengan penormoran manual kode tersebut disamping harus melakukan pengecekan sampai nomor berapa juga rentan terhadap duplikasi kode, jadi ini sangat merepotkan pengguna, merujuk pada teori bahwa programming ini memudahkan pengguna maka pengkodean ini akan lebih baik dibuat secara otomatis oleh sistem, disamping tidak aka nada duplikasi juga meninggalkan sebuah pekerjaan yang bisa membuang waktu. Pengkodean ini bisa digunakan untuk nomor transaksi yang menggunakan kode tertentu, atau bisa juga untuk faktur dan lain lain, di mana nomor akan bertambah secara otomatis. Langsung saja buka Visual Basic 6. Tamahkan satu label dan commandbutton. Buatlah tampilan seperti dibawah ini:
Tambahkan referensi Microsoft ActiveX Data Object xxx melalui menu project>References,  tambahkan pula Modele melalui menu yang sama, ketikan code dibawah ini pada module:
Global HubungKan As New ADODB.Connection
Public Sub HubungkanData()
Set HubungKan = New ADODB.Connection
HubungKan.Open "provider=microsoft.jet.oledb.4.0; persist security info=false; data source= " & App.Path & "\data.mdb"
HubungKan.CursorLocation = adUseClient
End Sub
 Klik form lalu View Code, ketikan code dibawah ini:
‘FORM CODE
Dim RsJumlah As ADODB.Recordset
Private Sub Command1_Click()
Form_Load
End Sub
Private Sub Form_Load()
Dim jumlah, totaL As Integer
Dim NolNya As String
HubungkanData
Set RsJumlah = New ADODB.Recordset
RsJumlah.LockType = adLockOptimistic
RsJumlah.Open "select * from Tbcounter", HubungKan
jumlah = RsJumlah!hit
totaL = jumlah + 1
Select Case totaL
Case 1 To 10
NolNya = "000"
Case 11 To 100
NolNya = "00"
Case 101 To 1000
NolNya = "0"
End Select
Label1.Caption = "SA" & Format(Now, "ddMMyy") & "-" & NolNya & RsJumlah!hit & ""
HubungKan.Execute "UPDATE TBcounter set hit='" & totaL & "'"
End Sub
Lalu Run atau tekan F5, dan lihat hasilnya:
Pada kasus ini saya menempatkan nomor dengan 4 digit, anda bisa menambahkan sesuai dengan kebutuhan, tinggal memodifikasi code saja dan menentukan Nolnya seperti ”000000” dan diatur case.nya. anda perhitungkan saja butuh berapa digit untuk pengkodean ini, tentunya setiap kasus akan berbeda. Apabila anda tidak ingin membuat table khusus untuk pengkodean ini, bisa menggunakan recordcount untuk menentukan penomorannya, musal recordcount adalah 45, maka jumlah=recordcount + 1, dan nilai jumlah yang muncul akan menjadi 46, digabungkan dengan code diatas akan menjadi 0046.
Seperti biasa penulis yang baik hati seperti saya [pembaca pasti kabur nih :D] akan memberikan projectnya langsung kepada anda melalui link ini, selamat mencoba semoga bermanfaat dan bisa dikembangkan.

1 komentar:

Anonim mengatakan...

Makasih KK atas ilmunya.