Koneksi VB .NET Express 2010 dan MS Access 2007 dengan OleDB

Langkah pertama adalah kita harus menyiapkan database dalam format MS Access 2007. Ekstensi file database ini adalah .accdb. Untuk tutorial ini, contoh file database bisa diunduh pada link ini. Selanjutnya, buat project VB .NET baru dan buatlah sebuah form yang akan menjadi MDI Parent. Buatlah menu dengan menu strip yang berisi empat submenu yaitu: Tampilkan Pegawai, Tambah Pegawai, Edit Pegawai, dan Hapus Pegawai. Contoh project VB .NET ini juga bisa diunduh pada link yang sama dengan database Access. Tampilannya akan tampak seperti gambar di bawah ini.

Sekarang  kita akan mengisi menu Tampilkan Pegawai. Dobel klik pada submenu Tampilkan Pegawai dan isikan kode berikut.

        Pegawai.MdiParent = Me
        Pegawai.Show()

Buatlah form Pegawai dan tambahkan suatu tombol dengan text “Tampilkan Data”. Dobel klik pada tombol tersebut dan isikan kode berikut.

        Dim con As New OleDb.OleDbConnection
        Dim sql As String
        Dim da As OleDb.OleDbDataAdapter
        Dim ds As New DataSet
        Dim totalRecord As Integer
        Dim index As Integer

        ' mengatur dan membuka koneksi, sesuaikan tempat menyimpan file database
        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                                "Data Source=C:\Users\Hudan Studiawan\Documents\gudang.accdb;"
        con.Open()

        ' select
        sql = "SELECT * FROM pegawai"
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(ds, "gudang")
        totalRecord = ds.Tables("gudang").Rows.Count

        ' membersihkan listbox
        lstPegawaiID.Items.Clear()
        lstPegawaiNama.Items.Clear()

        ' tampilkan ID dan nama pegawai
        For index = 0 To totalRecord - 1
            lstPegawaiID.Items.Add(ds.Tables("gudang").Rows(index).Item(0))
            lstPegawaiNama.Items.Add(ds.Tables("gudang").Rows(index).Item(1))
        Next

        ' menutup koneksi
        con.Close()

Tampilan form Pegawai akan nampak seperti gambar di bawah ini.

Kemudian buatlah form Tambah Pegawai sehingga akan tampak seperti gambar di bawah ini.

Dobel klik pada tombol Tambah dan isikan kode berikut.

        Dim con As New OleDb.OleDbConnection
        Dim da As OleDb.OleDbDataAdapter
        Dim ds As New DataSet
        Dim dsNewRow As DataRow
        Dim cb As OleDb.OleDbCommandBuilder
        Dim sql As String

        ' mengatur dan membuka koneksi
        ' ganti alamat file database sesuai dengan komputer masing-masing
        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                                "Data Source=C:\Users\Hudan Studiawan\Documents\gudang.accdb;"
        con.Open()

        ' mengatur data adapter
        sql = "SELECT * FROM pegawai"
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(ds, "gudang")

        ' menambah record
        cb = New OleDb.OleDbCommandBuilder(da)
        dsNewRow = ds.Tables("gudang").NewRow()
        dsNewRow.Item("pegawai_id") = txtID.Text
        dsNewRow.Item("pegawai_nama") = txtNama.Text
        ds.Tables("gudang").Rows.Add(dsNewRow)

        ' mengupdate database
        da.Update(ds, "gudang")

        MessageBox.Show("Data berhasil ditambahkan")

Selanjutnya, buatlah form untuk mengedit atau mengupdate data Pegawai. Tampilannya adalah sebagai berikut.

Untuk melakukan pengeditan data, klik pada salah satu ID Pegawai dan ID Pegawai dan Nama Pegawai akan muncul di group box di bagian bawah form. Kode program untuk menampilkan ID Pegawai dan Nama Pegawai sama dengan kode program untuk menampilkan data pada form Pegawai. Setelah dilakukan pengeditan, user dapat menekan tombol Edit. Event untuk tombol Edit adalah sebagai berikut.

        Dim con As New OleDb.OleDbConnection
        Dim sql As String
        Dim da As OleDb.OleDbDataAdapter
        Dim ds As New DataSet
        Dim cb As OleDb.OleDbCommandBuilder
        Dim indexIDpegawai As Integer

        ' mengatur dan membuka koneksi
        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                                "Data Source=C:\Users\Hudan Studiawan\Documents\gudang.accdb;"
        con.Open()

        ' select
        sql = "SELECT * FROM pegawai"
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(ds, "gudang")

        ' mendapatkan record yang harus diupdate
        indexIDpegawai = lstID.SelectedIndex

        ' update
        cb = New OleDb.OleDbCommandBuilder(da)
        ds.Tables("gudang").Rows(indexIDpegawai).Item(0) = txtID.Text
        ds.Tables("gudang").Rows(indexIDpegawai).Item(1) = txtNama.Text
        da.Update(ds, "gudang")

        MessageBox.Show("Data berhasil diedit")

        ' menutup koneksi
        con.Close()

Form berikutnya adalah Hapus Pegawai. Tampilannya adalah seperti gambar di bawah ini. Untuk menghapus, pilih ID Pegawai dan klik tombol Hapus.

Sedangkan kode program untuk menghapus yang diletakkan di balik tombol Hapus adalah sebagai berikut.

        Dim con As New OleDb.OleDbConnection
        Dim sql As String
        Dim da As OleDb.OleDbDataAdapter
        Dim ds As New DataSet
        Dim totalRecord As Integer
        Dim index As Integer

        ' mengatur dan membuka koneksi
        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                                "Data Source=C:\Users\Hudan Studiawan\Documents\gudang.accdb;"
        con.Open()

        ' select
        sql = "SELECT * FROM pegawai"
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(ds, "gudang")
        totalRecord = ds.Tables("gudang").Rows.Count

        ' tampilkan ID dan nama pegawai
        For index = 0 To totalRecord - 1
            lstID.Items.Add(ds.Tables("gudang").Rows(index).Item(0))
            lstNama.Items.Add(ds.Tables("gudang").Rows(index).Item(1))
        Next

        ' menutup koneksi
        con.Close()

Mengenai pengertian tentang OleDB, DataSet, dan DataAdapter akan dijelaskan di tulisan berikutnya :)

 

June 6, 2013

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>