English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified

13 November 2011

Auto Increment ID

dalam posting kali ini saya ingin membagikan sedikit tambahan mengenai auto increment ID yang berdasarkan Tahun, Bulan, dan digit auto dengan cara ini diharapkan dapat merubah mindset dan dapat mengecek laporan berdasar bulan dan tahun sesuai yang di maksud

untuk lebih jelas perhatikan form berikut :



pada textbox txtID.Text terdapat kode ID11110001, maksudnya adalah
1. ID = merupakan kode yang telah diset sesuai dengan kebutuhan
2. 11 = diambil dari tahun 2011
3. 11 = diambil dari bulan November
4. 0001 = merupakan auto increment dari jumlah row yang terakhir

skenarionya begini, begitu aplikasi di running maka aplikasi akan mengecek secara sistem apakah sekarang tahun 2011 lalu mengecek apakah sekarang bulan november lalu akan mengecek jumlah row yang terakhir berapa.

kira-kira syntax nya pertama kali saya membutuhkan function untuk menghitung jumlah row di dalam tabel yang dimaksud.
Sub Function cekDigit3(ByVal id As Int16)
Dim a As String
a = IIf(id >= 10, IIf(id >= 100, IIf(id >= 1000, id, "0" & id), "00" & id), "000" & id)
Return a
End Function

function diatas dibutuhkan untuk menghitung row berdasarkan rumus dari IIF bawaan excel. Berikutnya adalah menghitung incrementnya tempatkan pada form load

sub form_load
dim query as string
query="Select ID from tableName where ID like '" & "ID" & mid(Now.Year(3,2) & mid(Now.Month,1,2) & "%'"
da=New OracleDataAdapter(query, xcon)
da.Fill(ds,"TableNameAlias")
'lalu pada txtID.Text diisi
dim n as integer
n=me.BindingContext(ds.Table("TableNameAlias")).Count
txtID.Text="ID" & mid(Now.Year(3,2) & mid(Now.Month,1,2) & cekDigit3(n+1)

Korelasi dari kombinasi seperti ini adalah sistem akan mengecek syarat tahun, syarat bulan dan increment yang terakhir jadi jika pindah bulan atau tahun makan increment akan kembali ke angka 1, jika tahun dan bulan masih sama dan sesuai makan increment akan di tambah 1.

hasilnya pada txtID.Text adalah ID11110001
semoga bermanfaat selamat mencoba, salam

WAL

2 komentar:

aaraditya mengatakan...

THX sob buat tutorialnya. membantu banget nih. :D

Unknown mengatakan...

sama2 sob semoga membantu dan selamat mencoba