Junindar
E-Mail : xx_lead@yahoo.com
STEP I V
MENGAKSES DATA DARI EXCEL DAN MENGIMPORT KE ACCESS
(Study Kasus Excel &Access 2003)
I. Pangantar
Sering sekali kita menerima data dari user berupa excel file. Dan merupakan pekerjaan yang melelahkan untuk melakukan penginputan yang jumlah nya sangat banyak sekali. Mungkin jika kita bisa mengakses database suatu program akan sangat gampang sekali untuk mentransfer data dari Excel ke Database (Access). Tinggal melakukan import data dan beres. Tapi pada saat ini sangat jarang sekali program yang memberikan hak kepada user untuk dapat mengakses database secara langsung dan atau database nya di password.
Dan ini sebenarnya merupakan tugas dari para programer yang membuat program. Bagaimana membuat program yang memudahkan pekerjaan para user. Jadi di dalam artikel ini bagaimana kita membuat simple program / fasilitas untuk mengimport data dari excel ke access. Dan di dalam artikel ini kita akan membuat bagaimana melakukan koneksi ke Excel file dan data nya kita tampilkan ke dalam Datagrid.
Karena ini merupakan artikel ke emapat dari penulis, jadi penulis mengasumsikan para pembaca sudah familiar dengan Vb.Net dan Access. Jadi cara membuat project baru tidak akan dijelaskan secara detail. Jadi bila para pembaca ngerasa tulisan ini tidak di mengerti, silahkan baca artikel penulis Step 1 – 3.
II. MEMBUAT DATABASE DAN TABLE
Buat database baru dan letakkan di dalam folder Bin.
Dan beri nama “tes.mdb“. Buat satu buah table, dengan nama ”DataKu” dengan desain table sebagai berikut :
III. DESIGN & CODING
Ganti properties form seperti pada tabel dibawah ini.
BackColor | AliceBlue |
FormBorderStyle | Fixed3D |
Text | Import |
Name | F_Import |
StartPosition | CenterScreen |
Size | 826, 466 |
Lalu tambahkan komponen-komponen dibawah ini kedalam form
No | Nama Komponen | Jumlah |
1 | Label | 2 |
2 | TextBox | 3 |
3 | DataGrid | 2 |
4 | Button | 6 |
5 | OpenFileDialog | 1 |
Mengganti properties masing-masing komponen
- Label
No | Nama Label | Teks Label |
1 | Label1 | Sheet Name |
2 | Label2 | Table Name |
- TextBox
No | Nama TextBox | Properties | |
1 | TextBox1 | Text | kosongkan |
Name | txtFileName | ||
2 | TextBox2 | Text | Sheet1 |
Name | txtSheet | ||
3 | TextBox3 | Text | kosongkan |
Name | txtAlamat | ||
4 | TextBox4 | Text | kosongkan |
Name | txtTable |
- Button
No | Nama Button | Properties | |
1 | Button1 | BackColor | Transparent |
FlatStyle | Flat | ||
Text | Load | ||
Name | btnLoad | ||
2 | Button2 | BackColor | Transparent |
FlatStyle | Flat | ||
Text | View Excel Data | ||
Name | btnView | ||
3 | Button3 | BackColor | Transparent |
FlatStyle | Flat | ||
Text | Clear Excel Grid | ||
Name | btnClear | ||
4 | Button4 | BackColor | Transparent |
FlatStyle | Flat | ||
Text | Import Data | ||
Name | btnImport | ||
5 | Button5 | BackColor | Transparent |
FlatStyle | Flat | ||
Text | View Access Data | ||
Name | btnView2 | ||
6 | Button6 | BackColor | Transparent |
FlatStyle | Flat | ||
Text | Clear Access Grid | ||
Name | btnClear2 |
- OpenFileDialog
Properties | |
Filter | Microsoft Office Excel|*.xls |
RestoreDirectory | True |
Lalu desain form seperti gambar dibawah ini.
Menambahkan Class Pada Project
Sebelum kita mulai membuat listing pada form, terlebih dahulu kita membuat koneksi pada database.
Sebelumnya Buat folder pada project yang anda buat (Klik kanan project>Add>New Folder) dan beri nama “AccessData”. Selanjutnya didalam Folder tersebut tambahkan Class dengan nama “DataBaseConnection.vb” (Klik kanan Folder “AccessData”>Add>Add Class). Ketikan listing di bawah ini pada class yang baru anda buat.
Imports System.Data Imports System.Data.OleDb Namespace AccessData Public Class DatabaseConnection Dim conect As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=tes.mdb;") Public Function open() As OleDbConnection conect.Open() Return conect End Function Public Function close() As OleDbConnection conect.Close() Return conect End Function End Class End Namespace
Sekarang aktifkan form Import, dan masuk ke jendela Code. Ketikkan sintaks dibawah ini di awal baris.
Imports System.Data Imports System.Data.OleDb
Dan ketikkan listing-listing seperti di bawah ini.
#Region "Deklarasi" Dim MyConnection As New AccessData.DatabaseConnection Dim objConnection As OleDbConnection Dim objCommand As OleDbCommand Dim objDataAdapter As OleDbDataAdapter Dim strSQL As String Dim objDataSet As New DataSet Dim objDataTableExcel As New DataTable Dim objDataTableAccess As New DataTable Dim Field1, Field2, Field3 As String #End Region
Sub DeleteTable() 'Menghapus seluruh data pada table didalam Access strSQL = "Delete From" & "[" & Trim(txtTable.Text) & "]" & " ;" objCommand = New OleDbCommand objCommand.Connection = MyConnection.open() objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_Delete") MyConnection.close() End Sub
Sub import() DeleteTable() Dim i As Integer 'Melakukan pengulangan berdasarkan baris 'yang ada pada Excel For i = 0 To (objDataTableExcel.Rows.Count - 1) Try 'Menampilkan data dan di tampung 'Pada Variable berdasarkan baris With objDataTableExcel.Rows(i) Field1 = .Item(0) Field2 = .Item(1) Field3 = .Item(2) End With 'Melakukan penginputan data dari variable 'Kedalam tabel pada Access strSQL = "Insert Into " & "[" & Trim(txtTable.Text) & "]" & "(Field1, Field2, Field3) Values " & _ " (" & Field1 & ",'" & Field2 & "','" & Field3 & "'); " objCommand = New OleDbCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_Import") MyConnection.close() Catch When Err.Number <> 0 MsgBox("Tidak dapat membuat hubungan ke database" _ & vbCrLf & Err.Description) Exit Sub End Try Next i MsgBox("Import Finish", MsgBoxStyle.Information, "Import Data") End Sub
Klik ganda button Load dan ketik sintaks di bawah ini.
'Mencari file (.xls) yang akan dibuka OpenFileDialog1.ShowDialog() If OpenFileDialog1.FileName <> "" Then txtFileName.Text = OpenFileDialog1.FileName End If
Klik ganda button View dan ketik sintaks di bawah ini.
'Jika textbox Sheet = kosong If txtSheet.Text = "" Then MsgBox("Masukkan nama Sheet pada Excel", MsgBoxStyle.Exclamation, "Import Data") Exit Sub End If Dim tbl As String tbl = txtSheet.Text 'Koneksi ke file Excel yang di tunjuk Dim strConn As String = "Provider=Microsoft.Jet.OleDb.4.0;data source=" & txtFileName.Text & ";Extended Properties=Excel 8.0;" Dim objConn As New OleDbConnection(strConn) Try objDataTableExcel.Clear() 'SQL Menampilkan data pada Excel strSQL = "Select * " & " From " & "[" & tbl & "$" & "]" objCommand = New OleDbCommand objCommand.Connection = objConn objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_show") objDataTableExcel = objDataSet.Tables("mdt_show") objConn.Close() 'Data di tampung pada Datagrid DataGrid1.DataSource = objDataTableExcel DataGrid1.ReadOnly = True Catch ex As Exception MsgBox(ex.Message) End Try
Klik ganda button Clear, ketik sintaks dibawah ini
'Mengkosongkan Datagrid1 (Data Excel) objDataTableExcel.Clear() DataGrid1.DataSource = objDataTableExcel DataGrid1.ReadOnly = True
Klik ganda button Import, ketik sintaks dibawah ini
If txtTable.Text = "" Then MsgBox("Masukkan nama tabel pada Access", _ MsgBoxStyle.Exclamation, "Import Data") Exit Sub End If If txtSheet.Text = "" Then MsgBox("Masukkan nama Sheet pada Excel", _ MsgBoxStyle.Exclamation, "Import Data") Exit Sub End If Try import() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation) MyConnection.close() End Try
Dan klik ganda button View2 dan button Clear2, ketikkan sintaks untuk masing-masing button seperti dibawah ini.
Untuk button view2
If txtTable.Text = "" Then MsgBox("Masukkan nama tabel", _ MsgBoxStyle.Exclamation, "Import Data") Exit Sub End If Try 'untuk menampilkan data pada table (access) 'kedalam datagrid2 objDataTableAccess.Clear() strSQL = "Select * " & " From " & "[" & Trim(txtTable.Text) & "]" objCommand = New OleDbCommand objCommand.Connection = MyConnection.open objCommand.CommandType = CommandType.Text objCommand.CommandText = strSQL objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "mdt_show2") objDataTableAccess = objDataSet.Tables("mdt_show2") MyConnection.close() DataGrid2.DataSource = objDataTableAccess DataGrid2.ReadOnly = True Catch ex As Exception MsgBox(ex.Message) End Try End Sub
Untuk button Clear2
objDataTableAccess.Clear() DataGrid2.DataSource = objDataTableAccess DataGrid2.ReadOnly = True
IV. PENGGUNAAN PROGRAM
Jalan
- Cari file excel yang mau ditampilkan, dengan menekan button Load.
- Jika nama Sheet pada Excel adalah Sheet1, maka biarkan saja TextBox Sheet Name, tapi jika tidak ganti Sheet Name sama dengan nama Sheet pada file Excel yang akan ditampilkan.
- Tekan button View Excel Data
- Ketikkan nama table pada TextBox Table Name, Lalu tekan button Import Data, button ini berfungsi untuk memindahkan data dari Excel kedalam table didalam Access. Tunggu sampai pesan Import Finish Muncul.
- Untuk mencoba apakah data sudah di Import, Coba klik button View Access Data, jika data nya muncul sama dengan Datagrid Excel maka proses import sudah benar
V. ERROR MESSAGE
Jika menerima pesan error dari program, lakukan hal-hal seperti berikut:
Cek apakah sudah benar Sheet Name adalah Sheet1...
Cek apakah nama table pada Access sudah benar..
VI. PENUTUP
Setelah mencoba program dari artikel yang penulis buat ini, mudah-mudahan para pembaca mendapat ilmu tambahan tentang .Net. Hal-hal yang sederhana memang selalu kita lupakan, sehingga hal yang sederhana itu selalu kita anggap sebagai sesuatu yang sangat susah..
Penulis berharap artikel ini bisa di implementasikan kedalam program-program penulis yang membutuhkan proses seperti didalam artikel ini.
Semoga Artikel-artikel tentang VB.Net ini masih tetap saya tulis, seiring dengan berkembangnya ilmu yang saya miliki. Aminnnnnnnnnnnnnnnn
VII. Referensi
Masih banyak lagi referensi yang ada di Intenet. Anda tinggal cari di www.Google.com. Dengan kata kunci “tutorial VB.Net”
Biografi Penulis.
Junindar Lahir di Tanjung Pinang, 21 Juni 1982. Menyelesaikan Program S1 pada jurusan Teknik Informatika di Sekolah Tinggi Sains dan Teknologi
Kritik dan saran kirim ke : xx_lead@yahoo.com
Tidak ada komentar:
Posting Komentar