Maksud dari nomor otomatis dengan format tanggal adalah enam digit pertama terdiri dari 2 digit tahun 2 digit bulan 2 digit tanggal dan 3 digit terakhir merupakan no urut. Formatnya adalah yymmddxxx.
Setiap tanggal system komputer kita ganti maka tiga digit terakhir akan dimulai dari 001 walaupun tadinya tiga digit terakhir tersebut sudah mencapai 891. Enam digit dari depan mengikuti tanggal system komputer yang kita pakai.
Nomor otomatis seperti ini bisa kita gunakan untuk nomor transaksi pada program yang kita buat. Pada contoh kali ini saya akan membuat nim mahasiswa dengan format tanggal ini hanya contoh. silahkan diaplikasikan cara ini sesuai keinginan anda.
Bagaimanakah cara Membuat Nomor Otomatis Dengan Format Tanggal..? Langkah-langkahnya sebagai berikut ini:
Buatlah database dengan menggunakan ms access dengan nama DB_MHS dan buatlah tabel denngan nama Tbl_mhs seperti berikut ini
Tampilkan Gambar
Kemudian siapkan sebuah form tambahkan empat textbox, tiga commandbutton dan MsFlexgrid yang tampak seperti gambar berikut ini
Tampilkan Gambar
Jika sudah tambahkan sebuah modul lalu ketikan kode berikut ini. modul ini berfungsi untuk koneksi ke database
Public Conn As New ADODB.Connection
Public RsMhs As ADODB.Recordset
Public Sub Buka()
Set Conn = New ADODB.Connection
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB_MHS.mdb"
Conn.CursorLocation = adUseClient
End Sub
Kemudian buatlah prosedur nomor otomatis, ketiklah kode berikut ini pada form yang telah kita buat tadi
Private Sub AutoNumber()
Call Buka
Set RsMhs = New ADODB.Recordset
RsMhs.Open "SELECT * FROM Tbl_mhs WHERE nim in(select max(nim) from Tbl_mhs)order by nim desc", Conn
RsMhs.Requery
Dim Urut As String * 9
Dim Hitung As Long
With RsMhs
If .EOF Then
Urut = Format(Date, "yymmdd") + "001"
Else
If Left(!nim, 6) <> Format(Date, "yymmdd") Then
Urut = Format(Date, "yymmdd") + "001"
Else
Hitung = (!nim) + 1
Urut = Format(Date, "yymmdd") + Right("000" & Hitung, 3)
End If
End If
TxtNim.Text = Urut
End With
End Sub
Jika sudah buatlah prosedur dengan nama AktifGrid yang berguna untuk mengatur msflexgrid kodenya seperti berikut ini
Private Sub AktifGrid()
With MSFlexGrid1
.Cols = 5
.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "NO"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 1
.Row = 0
.Text = "NIM"
.CellFontBold = True
.ColWidth(1) = 1200
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "NAMA MAHASISWA"
.CellFontBold = True
.ColWidth(2) = 2500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "ALAMAT"
.CellFontBold = True
.ColWidth(3) = 2500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "JURUSAN"
.CellFontBold = True
.ColWidth(4) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Kemudian Buatlah prosedure dengan nama TampilGrid untuk menampilkan data ke msflexgrid
Sub TampilGrid()
Dim Baris As String
MSFlexGrid1.Clear
Call AktifGrid
MSFlexGrid1.Rows = 2
Baris = 0
Call Buka
Set RsMhs = New ADODB.Recordset
RsMhs.Open "SELECT * FROM Tbl_mhs ORDER BY nim ASC", Conn, adOpenDynamic, adLockOptimistic
If RsMhs.BOF Then
Exit Sub
Else
With RsMhs
.MoveFirst
Do While Not .EOF
Baris = Baris + 1
MSFlexGrid1.Rows = Baris + 1
MSFlexGrid1.TextMatrix(Baris, 0) = Baris
MSFlexGrid1.TextMatrix(Baris, 1) = !nim
MSFlexGrid1.TextMatrix(Baris, 2) = !nama
MSFlexGrid1.TextMatrix(Baris, 3) = !alamat
MSFlexGrid1.TextMatrix(Baris, 4) = !jurusan
.MoveNext
Loop
End With
End If
End Sub
Pada bagian form load tuliskan kode berikut ini
Private Sub Form_Load()
Call Buka
Call TampilGrid
TxtNim = ""
TxtNama = ""
TxtAlamat = ""
TxtJurusan = ""
TxtNim.Enabled = False
TxtNama.Enabled = False
TxtAlamat.Enabled = False
TxtJurusan.Enabled = False
CmdSave.Enabled = False
End Sub
Jika sudah silahkan double klik tombol new kemudian ketikan kode berikut ini
Private Sub CmdNew_Click()
'' //Memanggil prosedure penomoran otomatis
Call AutoNumber
'-----------
TxtNama.Enabled = True
TxtAlamat.Enabled = True
TxtJurusan.Enabled = True
CmdNew.Enabled = False
CmdSave.Enabled = True
TxtNama.SetFocus
End Sub
Kemudian tulislah kode untuk simpan data dengan cara double klik tombol save kemudian ketikan kode berikut ini
Private Sub CmdSave_Click()
If TxtNama = "" Or TxtAlamat = "" Or TxtJurusan = "" Then
MsgBox "Ada Data Yang Belum Diisi...!," & vbCrLf & "" _
& "Mohon Data Dilengkapi Dulu", vbCritical, "Peringatan"
Exit Sub
Else
Dim SqlAdd As String
SqlAdd = "INSERT INTO Tbl_mhs(nim,nama,alamat,jurusan)values" _
& "('" & TxtNim & "','" & TxtNama & "','" & TxtAlamat & "','" & TxtJurusan & "')"
Conn.Execute (SqlAdd)
End If
Call TampilGrid
TxtNim = ""
TxtNama = ""
TxtAlamat = ""
TxtJurusan = ""
TxtNama.Enabled = False
TxtAlamat.Enabled = False
TxtJurusan.Enabled = False
CmdSave.Enabled = False
CmdNew.Enabled = True
End Sub
Jika sudah semua silahkan di run. jika berhasil maka akan tampak seperti gambar berikut ini
Tampilkan Gambar
Jika anda tidak ingin ribet silahkan download source codenya di link berikut. semoga dapat bermanfaat
Tag:
auto number,cara membuat nomor otomatis,cara membuat nomor otomatis dengan format tanggal,nomor otomatis di vb 6,cara mudah membuat nomor otomatis di vb
0 komentar:
Posting Komentar