Sekarang kita akan membuat program membuat No Faktur atau Penomberan secara otomatis, sangat berguna pada saat kita menginputkan sebuah data. Dengan adanya penomberan otomatis maka kecil kemungkinan kita akan salah menginputkan sebuah penomberan karena akan otamatis melakukan sebuah penambahan.
Kita Menggunakan Project Yang sudah pernah kita buat di Tutor Cara Koneksi Visual Basic dengan Database SQL
Buat Project seperti di bawah ini:
Sekarang kita mulai Pengcodingan:
1. Untuk generalisasi
2. Buat Sub Koneksi untuk mengkoneksikan database dengan visual basic
3. Buat Sub Kode_Otomatis
Sub Kode_otomatis di panggil di tombol New.
If Not rs!NIM = "" Then
KODE = Mid(rs!NIM, 6, 9)
NoUrut = CLng(KODE) -> merubah menjadi char long
NoUrut = NoUrut + 1
TxtNIM.Text = "080010" + Format(NoUrut, "000")
jika tabel tidak kosong maka, maka tambahkan no urut (angka yang paling tinggi) + 1 dari nilai string 6, dan penambahan di string 9 sebanyak 1
Else
NoUrut = 1
TxtNIM.Text = "080010" + Format(NoUrut, "000")
jika tidak maka penambahan langsung 1
4. Cmd New
Penomberan kode otomatis di panggil di sini, jadi setiap kali user mengklik tombol new maka NIM akan langsung otomatis terisi secara berurutan.
5.Form Load
Private Sub Form_Load()
TxtNIM.Text = ""
txtNama.Text = ""
TxtAlamat.Text = ""
koneksi
Set rsTblMhs = New ADODB.Recordset
rsTblMhs.CursorLocation = adUseClient
strsql = "select*from TblMhs"
rsTblMhs.Open strsql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rsTblMhs
CmdAdd.Enabled = False
CmdUpdate.Enabled = True
CmdEdit.Enabled = True
CmdDelete.Enabled = True
TxtNIM.Locked = True
txtNama.Locked = True
TxtAlamat.Locked = True
End Sub
Koneksi di taruh disini, jadi setiap di load database langsung terkoneksi di visual basic.
6. Sub CmdAdd
menambahkan data ke database
7.Sub CmdDelete
Menghapus database
8.Cmd Refresh
Private Sub Refresh_Click()
Set DataGrid1.DataSource = Nothing
DataGrid1.Refresh
End Sub
Mengosongkan datagrid, tapi data masih tersimpan di database
Untuk Program lengkapnya bisa di download di sini
Selamat Mencoba
Kita Menggunakan Project Yang sudah pernah kita buat di Tutor Cara Koneksi Visual Basic dengan Database SQL
Buat Project seperti di bawah ini:
Sekarang kita mulai Pengcodingan:
1. Untuk generalisasi
Public cn As ADODB.Connection
Dim rsTblMhs As ADODB.Recordset
Dim rs As ADODB.Recordset
Dim strsql As String
Dim rsTblMhs As ADODB.Recordset
Dim rs As ADODB.Recordset
Dim strsql As String
2. Buat Sub Koneksi untuk mengkoneksikan database dengan visual basic
Public Sub koneksi()
Set cn = New ADODB.Connection
'cn.Open "FILE NAME=koneksi_TblMhs.udl"
'untuk nampilin tabel di sql tadi,buka koneksi_TblMhs.udl dg notepad trus copy deh kesini
cn.Open "Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=DatabaseMhs;Data Source=TOSHIBA-PC"
End Sub
Set cn = New ADODB.Connection
'cn.Open "FILE NAME=koneksi_TblMhs.udl"
'untuk nampilin tabel di sql tadi,buka koneksi_TblMhs.udl dg notepad trus copy deh kesini
cn.Open "Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=DatabaseMhs;Data Source=TOSHIBA-PC"
End Sub
3. Buat Sub Kode_Otomatis
Private Sub kode_otomatis()
Set rs = New ADODB.Recordset
strsql = "Select max(NIM)as NIM from TblMhs"
rs.CursorLocation = adUseClient
rs.Open strsql, cn, adOpenDynamic, adLockOptimistic
If Not rs!NIM = "" Then
KODE = Mid(rs!NIM, 6, 9)
NoUrut = CLng(KODE)
NoUrut = NoUrut + 1
TxtNIM.Text = "080010" + Format(NoUrut, "000")
Else
NoUrut = 1
TxtNIM.Text = "080010" + Format(NoUrut, "000")
End If
End Sub
Set rs = New ADODB.Recordset
strsql = "Select max(NIM)as NIM from TblMhs"
rs.CursorLocation = adUseClient
rs.Open strsql, cn, adOpenDynamic, adLockOptimistic
If Not rs!NIM = "" Then
KODE = Mid(rs!NIM, 6, 9)
NoUrut = CLng(KODE)
NoUrut = NoUrut + 1
TxtNIM.Text = "080010" + Format(NoUrut, "000")
Else
NoUrut = 1
TxtNIM.Text = "080010" + Format(NoUrut, "000")
End If
End Sub
Sub Kode_otomatis di panggil di tombol New.
If Not rs!NIM = "" Then
KODE = Mid(rs!NIM, 6, 9)
NoUrut = CLng(KODE) -> merubah menjadi char long
NoUrut = NoUrut + 1
TxtNIM.Text = "080010" + Format(NoUrut, "000")
jika tabel tidak kosong maka, maka tambahkan no urut (angka yang paling tinggi) + 1 dari nilai string 6, dan penambahan di string 9 sebanyak 1
Else
NoUrut = 1
TxtNIM.Text = "080010" + Format(NoUrut, "000")
jika tidak maka penambahan langsung 1
4. Cmd New
Private Sub CmdNew_Click()
CmdAdd.Enabled = True
CmdNew.Enabled = False
TxtNIM.Locked = False
txtNama.Locked = False
TxtAlamat.Locked = False
kode_otomatis
End Sub
CmdAdd.Enabled = True
CmdNew.Enabled = False
TxtNIM.Locked = False
txtNama.Locked = False
TxtAlamat.Locked = False
kode_otomatis
End Sub
Penomberan kode otomatis di panggil di sini, jadi setiap kali user mengklik tombol new maka NIM akan langsung otomatis terisi secara berurutan.
5.Form Load
Private Sub Form_Load()
TxtNIM.Text = ""
txtNama.Text = ""
TxtAlamat.Text = ""
koneksi
Set rsTblMhs = New ADODB.Recordset
rsTblMhs.CursorLocation = adUseClient
strsql = "select*from TblMhs"
rsTblMhs.Open strsql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rsTblMhs
CmdAdd.Enabled = False
CmdUpdate.Enabled = True
CmdEdit.Enabled = True
CmdDelete.Enabled = True
TxtNIM.Locked = True
txtNama.Locked = True
TxtAlamat.Locked = True
End Sub
Koneksi di taruh disini, jadi setiap di load database langsung terkoneksi di visual basic.
6. Sub CmdAdd
Private Sub CmdAdd_Click()
If TxtNIM.Text = "" Then
MsgBox "NIM belum diisi", vbInformation, "PESAN"
TxtNIM.SetFocus
ElseIf txtNama.Text = "" Then
MsgBox "NAMA belum diisi", vbInformation, "PESAN"
txtNama.SetFocus
ElseIf TxtAlamat.Text = "" Then
MsgBox "ALAMAT belum diisi", vbInformation, "PESAN"
TxtAlamat.SetFocus
Else
rsTblMhs.AddNew
rsTblMhs("NIM") = TxtNIM.Text
rsTblMhs("NAMA") = txtNama.Text
rsTblMhs("ALAMAT") = TxtAlamat.Text
rsTblMhs.Update
End If
Set DataGrid1.DataSource = rsTblMhs
TxtNIM.Text = ""
txtNama.Text = ""
TxtAlamat.Text = ""
CmdAdd.Enabled = False
CmdUpdate.Enabled = True
CmdNew.Enabled = True
CmdDelete.Enabled = True
End Sub
If TxtNIM.Text = "" Then
MsgBox "NIM belum diisi", vbInformation, "PESAN"
TxtNIM.SetFocus
ElseIf txtNama.Text = "" Then
MsgBox "NAMA belum diisi", vbInformation, "PESAN"
txtNama.SetFocus
ElseIf TxtAlamat.Text = "" Then
MsgBox "ALAMAT belum diisi", vbInformation, "PESAN"
TxtAlamat.SetFocus
Else
rsTblMhs.AddNew
rsTblMhs("NIM") = TxtNIM.Text
rsTblMhs("NAMA") = txtNama.Text
rsTblMhs("ALAMAT") = TxtAlamat.Text
rsTblMhs.Update
End If
Set DataGrid1.DataSource = rsTblMhs
TxtNIM.Text = ""
txtNama.Text = ""
TxtAlamat.Text = ""
CmdAdd.Enabled = False
CmdUpdate.Enabled = True
CmdNew.Enabled = True
CmdDelete.Enabled = True
End Sub
menambahkan data ke database
7.Sub CmdDelete
Private Sub CmdDelete_Click()
TxtNIM.Locked = False
txtNama.Locked = False
TxtAlamat.Locked = False
TxtNIM.Text = rsTblMhs("NIM")
txtNama.Text = rsTblMhs("NAMA")
TxtAlamat.Text = rsTblMhs("ALAMAT")
If MsgBox("apakah yakin ingin dihapus?", vbYesNo, "KONFIRMASI") = vbYes Then
Set rsTblMhs = cn.Execute("Delete from TblMhs where NIM='" & TxtNIM.Text & " ' ")
MsgBox "Data telah dihapus", vbInformation, "PESAN"
End If
'untuk me-refresh datagrid setelah delete data
If cn.State = adStateOpen Then
setrsTblMhs = New ADODB.Recordset
rsTblMhs.CursorLocation = adUseClient
strsql = "select * from TblMhs"
rsTblMhs.CursorLocation = adUseClient
rsTblMhs.Open strsql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rsTblMhs
End If
End Sub
TxtNIM.Locked = False
txtNama.Locked = False
TxtAlamat.Locked = False
TxtNIM.Text = rsTblMhs("NIM")
txtNama.Text = rsTblMhs("NAMA")
TxtAlamat.Text = rsTblMhs("ALAMAT")
If MsgBox("apakah yakin ingin dihapus?", vbYesNo, "KONFIRMASI") = vbYes Then
Set rsTblMhs = cn.Execute("Delete from TblMhs where NIM='" & TxtNIM.Text & " ' ")
MsgBox "Data telah dihapus", vbInformation, "PESAN"
End If
'untuk me-refresh datagrid setelah delete data
If cn.State = adStateOpen Then
setrsTblMhs = New ADODB.Recordset
rsTblMhs.CursorLocation = adUseClient
strsql = "select * from TblMhs"
rsTblMhs.CursorLocation = adUseClient
rsTblMhs.Open strsql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rsTblMhs
End If
End Sub
Menghapus database
8.Cmd Refresh
Private Sub Refresh_Click()
Set DataGrid1.DataSource = Nothing
DataGrid1.Refresh
End Sub
Mengosongkan datagrid, tapi data masih tersimpan di database
Untuk Program lengkapnya bisa di download di sini
Selamat Mencoba
refernce : http://allaboutalgoritma.blogspot.com
Tidak ada komentar:
Posting Komentar