Jumat, 10 Mei 2013

Pemrograman ADODB pada Visual Basic 6.0 untuk Mengakses Database Access

Beberapa saat yang yang lalu saat pelatihan penulis sempat sangat kelabakan karena ditanya Pemrograman ADODB pada VB 6.0 dan sempat lupa karena sudah lama sekali tidak memakai. Daripada hal itu terulang lagi, sebaiknya dicatat saja di blog ini kan :)

ADODB lain dengan ADODC, jadi pemrograman ini tidak memakai komponen Database ADO Data Control tetapi murni coding. Termasuk bagaimana caranya membuat DataReport dengan ADODB. Berikut codingnya :


Dim cn As New ADODB.Connection
Dim WithEvents rs As ADODB.Recordset
'Dim rs2 As New ADODB.Recordset

Private Sub cmdAdd_Click()
    rs.AddNew
End Sub

Private Sub cmdCancel_Click()
    rs.CancelBatch
    rs.Close
    rs.Open "SELECT * FROM siswa", cn, adOpenDynamic, adLockOptimistic
    Set DataGrid1.DataSource = rs
End Sub

Private Sub cmdDelete_Click()
    'rs.Delete
    ' contoh eksekusi SQL langsung, bisa untuk INSERT, UPDATE, DELETE
    cn.Execute "DELETE FROM siswa WHERE nis = '" & txtNIS.Text & "'"
    cmdRefresh_Click
End Sub

Private Sub cmdExit_Click()
    Unload Me
End Sub

Private Sub cmdFirst_Click()
    rs.MoveFirst
End Sub

Private Sub cmdLast_Click()
    rs.MoveLast
End Sub

Private Sub cmdNext_Click()
    rs.MoveNext
    If rs.EOF = True Then rs.MoveLast
End Sub

Private Sub cmdPrev_Click()
    rs.MovePrevious
    If rs.BOF = True Then rs.MoveFirst
End Sub

Private Sub cmdPrint_Click()
    Set rptSiswa.DataSource = rs
    rptSiswa.Show
End Sub

Private Sub cmdRefresh_Click()
    rs.Close
    rs.Open "SELECT * FROM siswa", cn, adOpenDynamic, adLockOptimistic
    Set DataGrid1.DataSource = rs
End Sub

Private Sub cmdSave_Click()
    rs.Fields("nis") = txtNIS.Text
    rs.Fields("nama") = txtNama.Text
    rs.Fields("alamat") = txtAlamat.Text
    rs.Fields("tgllahir") = txtTglLahir.Text
    rs.Fields("nilai") = txtNilai.Text
    rs.Update
End Sub

Private Sub Form_Load()
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db.mdb;Persist Security Info=False"
    cn.Open
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.Open "SELECT * FROM siswa", cn, adOpenDynamic, adLockOptimistic
    Set DataGrid1.DataSource = rs
End Sub

Private Sub rs_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
    If (rs.BOF = True Or rs.EOF = True) Then Exit Sub
    txtNIS.Text = rs.Fields("nis") & ""
    txtNama.Text = rs.Fields("nama") & ""
    txtAlamat.Text = rs.Fields("alamat") & ""
    txtTglLahir.Text = rs.Fields("tgllahir") & ""
    txtNilai.Text = rs.Fields("nilai") & ""
End Sub


Sedangkan tampilannya seperti ini :


Sedangkan ini tampilan Reportnya ;


Projectnya dapat didownload, silakan disini. Jika kesulitan ikuti cara ini.

Semoga bisa untuk mengingat ^_^

1 komentar: