Lanjur dari Part 3, bakal selesai sudah artikel tentang CRUD VB.NET dengan database Microsoft Access ini, semoga bermanfaat yah readers. Ini dia code lengkap nya....
Imports System.Data.OleDb

Public Class frmCategory


  Dim con As New OleDbConnection

  Sub Open_Koneksi()
      con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0" & _
                             ";Data Source=latihan.accdb;" & _
                             "Persist Security Info=False;"
      con.Open()
  End Sub

  Sub Data_Load()
      Dim cmd As New OleDbCommand
     
Dim adapt As New OleDbDataAdapter
     
Dim dt As New DataTable

      Try
          If Not con.State = ConnectionState.Open Then Open_Koneksi()

          cmd.Connection = con
          cmd.CommandText = "SELECT kodekategori, namakategori FROM kategori"
          adapt.SelectCommand = cmd
          adapt.Fill(dt)

          With grdData
              .AllowUserToAddRows = False
              .ReadOnly = True
              .DataSource = dt
          End With

      Catch ex As OleDbException
          MessageBox.Show("Error: " & ex.Message)
      Finally
          con.Close()
      End Try
  End Sub


  Private Sub frmCategory_Load(sender As Object, _
          e As EventArgs) Handles Me.Load
      Data_Load()
  End Sub

  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 kategori (kodekategori,namakategori) VALUES" & _
                " ('" & txtCode.Text & "', '" & txtName.Text & "')"
        Else
          SQL = "UPDATE kategori 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


  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

  Private Sub
tbrEdit_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles tbrEdit.Click

      grdData_CellMouseDoubleClick(Nothing, Nothing)

  End Sub

  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

  Private Sub
tbrDelete_Click(sender As Object, _
          e As EventArgs) Handles tbrDelete.Click

      If MsgBox("Yakin akan menghapus data?", MsgBoxStyle.YesNo, _
           "Konfirmasi") = MsgBoxResult.No Then Exit Sub

      Dim myCommand As New OleDbCommand
     
Dim SQL As String

      Try
          If Not con.State = ConnectionState.Open Then Open_Koneksi()
          SQL = "DELETE FROM kategori WHERE kodekategori = " & _
                "'" & grdData.CurrentRow.Cells(0).Value & "'"

          myCommand.Connection = con
          myCommand.CommandText = SQL
          myCommand.ExecuteNonQuery()

          MsgBox("Data terhapus")

          tbrCancel_Click(Nothing, Nothing)

          con.Close()
      Catch myerror As OleDbException
          MessageBox.Show("Error: " & myerror.Message)
      Finally
          con.Dispose()
      End Try
  End Sub


  Private Sub tbrClose_Click(sender As Object, _
      e As EventArgs) Handles tbrClose.Click
      Me.Close()
  End Sub

End Class


Happy Coding ^_^

Click here if you like this article.