Jalankan Visual Basic 6 dan buat project standard kemudian klik Project > References… pada menu bar
Jalankan Visual Basic 6 dan buat project standard kemudian klik Project > References… pada menu bar
lalu checklist Microsoft ActiveX Data Objects 2.8 Library dan Ok.
Kemudian buka jendela kode View Code, lalu ketikkan kode dibawah ini:
‘deklarasi objek connection, command
‘dan recordset
Dim koneksi As ADODB.Connection
Dim komand As ADODB.Command
Dim komandbantu As ADODB.Command
Dim rekodset As ADODB.Recordset
Dim stat As String
Dim yangdiubah As String
‘prosedur buatan untuk mengisi textbox
Sub refreshteks()
txtkode.Text = rekodset!kode_pejabat
txtnama.Text = rekodset!nama_pejabat
txtjabatan.Text = rekodset!jabatan
End Sub
‘prosedur buatan bernama tambaedit
Sub tambahedit()
CmdSimpan.Enabled = True
CmdBatal.Enabled = True
CmdTambah.Enabled = False
CmdHapus.Enabled = False
CmdUbah.Enabled = False
CmdFirst.Enabled = False
CmdPrev.Enabled = False
CmdNext.Enabled = False
CmdLast.Enabled = False
End Sub
Sub tombolnormal()
CmdSimpan.Enabled = False
CmdBatal.Enabled = False
CmdTambah.Enabled = True
CmdHapus.Enabled = True
CmdUbah.Enabled = True
CmdFirst.Enabled = True
CmdPrev.Enabled = True
CmdNext.Enabled = True
CmdLast.Enabled = True
End Sub
‘prosedur buatan
‘untuk membuka ulang rekodset
Private Sub re_rekodset()
rekodset.Open komand
On Error Resume Next
rekodset.MoveFirst
Call refreshteks
End Sub
Sub kosongkanteks()
txtkode.Text = “”
txtnama.Text = “”
txtjabatan.Text = “”
End Sub
Private Sub Form_Load()
Set koneksi = New ADODB.Connection
Set komand = New ADODB.Command
Set komandbantu = New ADODB.Command
Set rekodset = New ADODB.Recordset
‘buka koneksi ke database arsip
‘SQL Server ,user= dedy
‘password= mulyono
koneksi.ConnectionString = _
“provider=SQLOLEDB.1;” + _
“Password=mulyono;” + _
“Persist Security Info=true;” + _
“User ID=dedy;” + _
“Initial Catalog=arsip;”
koneksi.Open
‘menyiapkan objek komand
komand.ActiveConnection = koneksi
komand.CommandType = adCmdText
komand.CommandText = “SELECT * FROM pejabat”
rekodset.CursorLocation = adUseClient
rekodset.CursorType = adOpenStatic
rekodset.LockType = adLockOptimistic
‘panggil prosedur buatan
‘bernama re_rekodset
Call re_rekodset
End Sub
Private Sub CmdFirst_Click()
‘acuhkan jika ada kesalahan
On Error Resume Next
‘pindah ke record pertama
rekodset.MoveFirst
Call refreshteks
End Sub
Private Sub CmdBatal_Click()
Call tombolnormal
On Error Resume Next
rekodset.MoveFirst
Call refreshteks
End Sub
Private Sub CmdHapus_Click()
‘mulai transaksi
koneksi.BeginTrans
‘jika ada kesalahan pindah ke adaerror_hapus
On Error GoTo adaerror_hapus
komandbantu.ActiveConnection = koneksi
komandbantu.CommandType = adCmdText
komandbantu.CommandText = “DELETE pejabat” + _
“WHERE kode_pejabat=”" + Trim (txtkode.Text) + ” ‘”
‘lakukan penghapusan data
komandbantu.Execute
‘transaksi selesai
koneksi.CommitTrans
rekodset.Close
Call re_rekodset
Exit Sub
adaerror_hapus:
‘batalkan transaksi
‘dan kembalikan keadaan semula
koneksi.RollbackTrans
MsgBox “ada kesalahan menghapus”, vbOKOnly, “Info”
End Sub
Private Sub CmdLast_Click()
On Error Resume Next
‘pindah ke record terakhir
rekodset.MoveLast
Call refreshteks
End Sub
Private Sub CmdNext_Click()
‘pindah ke record selanjutnya
rekodset.MoveNext
‘jika sudah terakhir
If rekodset.EOF Then
‘pindah ke record terakhir
rekodset.MoveLast
End If
Call refreshteks
End Sub
Private Sub CmdPrev_Click()
‘pindah ke record sebelumnya
rekodset.MoveFirst
‘jika sudah diawal
If rekodset.BOF Then
‘pindah ke record awal
rekodset.MoveFirst
End If
Call refreshteks
End Sub
Private Sub CmdSimpan_Click()
‘mulai transaksi
koneksi.BeginTrans
‘jika ada kesalahan,loncat ke adaero_hapus
‘On Error GoTo adaerror_hapus
komandbantu.ActiveConnection = koneksi
komandbantu.CommandType = adCmdText
‘jika penambahan data
If stat = “tambah” Then
komandbantu.CommandText = “INSERT pejabat” + _
“VALUES” + _
“(‘” + Trim(txtkode.Text) + “‘,’” + _
Trim(txtnama.Text) + “‘,’” + _
Trim(txtjabatan.Text) + “‘)”
‘jika ada perubahan
Else
komandbantu.CommandText = “UPDATE pejabat” + _
” SET kode_pejabat=’” + _
Trim(txtkode.Text) + “‘,’” + _
“nama_pejabat=’” + _
Trim(txtnama.Text) + “‘,’” + _
“jabatan=’” + _
Trim(txtjabatan.Text) + “‘” + _
“WHERE kode_pejabat=’” + yangdiubah + “‘”
End If
komandbantu.Execute
‘transaksi selesai
koneksi.CommitTrans
Call tombolnormal
rekodset.Close
Call re_rekodset
Exit Sub
adaerror_hapus:
‘batalkan transaksi
‘dan kembalikan ke semula
koneksi.RollbackTrans
MsgBox “Ada kesalahan penambahan data”, vbOKOnly, “pesan”
End Sub
Private Sub CmdTambah_Click()
stat = “tambah”
Call tambahedit
Call kosongkanteks
End Sub
Private Sub CmdUbah_Click()
stat = “ubah”
yangdiubah = txtkode.Text
Call tambahedit
End Sub
Private Sub CmdTotal_Click()
‘bagian ini digunakan untuk memahami cara menjalankan
‘stored procedure
‘dan command
Dim parameternya As New ADODB.Parameter
Dim komand_SP As New ADODB.Command
komand_SP.ActiveConnection = koneksi
komand_SP.CommandType = adCmdStoredProc
komand_SP.CommandText = “hitungkuitansi”
‘siapkan parameter input
Set parameternya = komand_SP.CreateParameter
parameternya.Name = “@k_pejabatnya”
parameternya.Type = adChar
parameternya.Size = 10
parameternya.Direction = adParamInput
parameternya.Value = txtkode.Text
‘tambahkan ke dalam koleksi parameter
komand_SP.Parameters.Append parameternya
‘siapkan parameter output
Set parameternya = komand_SP.CreateParameter
parameternya.Name = “@total”
parameternya.Type = adInteger
parameternya.Direction = adParamInput
‘tambahkan ke parameter
komand_SP.Parameters.Append parameternya
‘On Error GoTo adaerror_sp
komand_SP.Execute
If lsNull(komand_SP(“@total”)) Then
pesannya = “0″
Else
pesannya = Str(komand_SP(“@total”))
End If
‘cetak hasil eksekusi
MsgBox “total kuitansi” + _
“dari pejabat, adalah Rp.” + _
pesannya
Exit Sub
adaerror_sp:
MsgBox “ada kesalahan eksekusi stored” + _
“procedure”, vbOKOnly
End Sub
0 Komentar