Artikel ini merupakan serial CRUD VB.NET Ms. Access lanjutan dari Part 1 . Tahap berikutnya kita akan menciptakan fasilitas edit/mengganti data yang telah ada. User akan mengedit data dengan menentukan row yang ada di datagridview, lalu double klik untuk menampilkan data yang akan di edit di control input (textbox). Kita tambahkan code berikut pada event grdData_CellMouseDoubleClick. Private Sub grdData_CellMouseDoubleClick( ByVal sender As Object, _ ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) _ Handles grdData.CellMouseDoubleClick txtCode.Text = grdData.CurrentRow.Cells(0).Value txtName.Text = grdData.CurrentRow.Cells(1).Value tbrEdit.Enabled = False txtCode.ReadOnly = True End Sub Code txtCode.ReadOnly = True disertakan untuk mengunci textbox arahan agar tidak dapat diedit sebab ialah primary key. Selain mampu langsung double klik pada grid, user juga mampu memilih row data lalu klik tombol Edit, maka perlu procedure yang serupa pada event tbrEdit_Click. Tapi kita tidak akan mengetik ulang code melainkan memanggil sub procedure event CellMouseDoubleClick seperti berikut: Private Sub tbrEdit_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles tbrEdit.Click grdData_CellMouseDoubleClick( Nothing , Nothing ) End Sub Oiya sebelum lanjut ke Saving pergeseran, kita tambahkan dulu code di event tbrCancel_Click dahulu yah. Karena procedure ini akan diundang berulang kali. Fungsinya yaitu untuk membersihkan control input, refresh ulang data, dan membatalkan proses input baru/edit selama belum di Save. Private Sub tbrCancel_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles tbrCancel.Click txtCode.Text = String .Empty txtName.Text = String .Empty tbrEdit.Enabled = True txtCode.ReadOnly = False Data_Load() End Sub Code tbrEdit.Enabled = False selaku parameter pembeda, apakah status input sedang input gres atau sedang edit data. Karena untuk menyimpan perubahan menggunakan event yang serupa ialah tbrSave_Click. Kita akan mengganti dan menambahkan beberapa code pada event ini. (Rani tandai dengan highlight perubahannya yah) Private Sub tbrSave_Click(sender As Object, _ e As EventArgs) Handles tbrSave.Click Dim myCommand As New OleDbCommand Dim SQL As String Try If Not con.State = ConnectionState.Open Then Open_Koneksi() If tbrEdit.Enabled = True Then SQL = "INSERT INTO klasifikasi (kodekategori, namakategori) VALUES " & _ "('" & txtCode.Text & "', '" & txtName.Text & "')" Else SQL = "UPDATE klasifikasi SET namakategori = '" & txtName.Text & "' " & _ "WHERE kodekategori = '" & txtCode.Text & "'" End If myCommand.Connection = con myCommand.CommandText = Sql myCommand.ExecuteNonQuery() If tbrEdit.Enabled = True Then MsgBox( "Data baru tersimpan" ) Else MsgBox( "Perubahan tersimpan" ) End If tbrCancel_Click(Nothing, Nothing) con.Close() Catch myerror As OleDbException MessageBox.Show( "Error: " & myerror.Message) Finally con.Dispose() End Try End Sub Mari kita coba run lagi. Lanjut ke Part 3 ihwal Delete dan Close Form. Click here if you like this article. Sumber http://rani-irsan.blogspot.com