Pada modul ini kita akan membuat Entry data dengan menggunakan DataView, yang dibinding pada masing-masing textbox.
Dalam hal ini kita akan membuka koneksi dan mempersiapkan DataView, serta binding masing-masing textbox ke data field.
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load OleDbConn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;") sSQL = "Select * From Barang" OleDbComm = New OleDbCommand(sSQL, OleDbConn) OleDA = New OleDbDataAdapter(OleDbComm) OleDA.Fill(ODS, "Barang") ODV = New DataView(ODS.Tables("Barang")) 'Melakukan binding masing-masing textbox Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "KodeBar")) Me.TextBox2.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Keterangan")) Me.TextBox3.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Satuan")) Me.TextBox4.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Harga")) End Sub
Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click Me.BindingContext(ODV).Position = 0 End Sub
Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev.Click Me.BindingContext(ODV).Position -= 1 End Sub
Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click Me.BindingContext(ODV).Position += 1 End Sub
Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click Me.BindingContext(ODV).Position = ODV.Table.Rows.Count End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.BindingContext(ODV).AddNew() Me.Update() End Sub
Private Sub btnUpd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.BindingContext(ODV).EndCurrentEdit() End Sub
Private Sub btnCnc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.BindingContext(ODV).CancelCurrentEdit() End Sub
Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) If (Me.BindingContext(ODV).Count > 0) Then Me.BindingContext(ODV).RemoveAt(Me.BindingContext(ODV).Position) End If End Sub
Sesuatu hal yang harus anda pahami adalah bahwa perubahan pada DataView tidak secara langsung terupdate pada data source..
Private Sub Form2_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed Dim oleCommBuilder As New OleDbCommandBuilder(OleDA) OleDA.Update(ODS, "Barang") End Sub
Imports System.Data.OleDb Public Class Form2 Inherits System.Windows.Forms.Form Dim OleDbConn As OleDbConnection Dim OleDbComm As OleDbCommand Dim OleDA As OleDbDataAdapter Dim ODS As New DataSet Dim ODV As DataView Dim sSQL As String
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load OleDbConn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;") sSQL = "Select * From Barang" OleDbComm = New OleDbCommand(sSQL, OleDbConn) OleDA = New OleDbDataAdapter(OleDbComm) OleDA.Fill(ODS, "Barang") ODV = New DataView(ODS.Tables("Barang")) Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "KodeBar")) Me.TextBox2.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Keterangan")) Me.TextBox3.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Satuan")) Me.TextBox4.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Harga")) End Sub
Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click Me.BindingContext(ODV).Position = 0 End Sub
Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click Me.BindingContext(ODV).Position = ODV.Table.Rows.Count End Sub
Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev.Click Me.BindingContext(ODV).Position -= 1 End Sub
Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click Me.BindingContext(ODV).Position += 1 End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.BindingContext(ODV).AddNew() Me.Update() End Sub
Private Sub btnUpd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.BindingContext(ODV).EndCurrentEdit() End Sub
Private Sub Form2_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed Dim oleCommBuilder As New OleDbCommandBuilder(OleDA) OleDA.Update(ODS, "Barang") End Sub
Private Sub btnCnc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.BindingContext(ODV).CancelCurrentEdit() End Sub
Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) If (Me.BindingContext(ODV).Count > 0) Then Me.BindingContext(ODV).RemoveAt(Me.BindingContext(ODV).Position) End If End Sub
End Class