/* Welcome to Blog Chandra Yuventus Silaban */ My Blog My Lifestyle: STEP BY STEP MENJADI

Senin, Juni 25

STEP BY STEP MENJADI


Text Box: Lisensi Dokumen: Copyright © 2003 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

Junindar

E-Mail : xx_lead@yahoo.com

junindar@gmail.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 kan program dengan menekan F5, dan muncul tampilan program seperti berikut :




  1. Cari file excel yang mau ditampilkan, dengan menekan button Load.
  2. 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.
  3. Tekan button View Excel Data




  1. 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.




  1. 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

  1. www.msdn.microsoft.com
  2. www.planetsourcecode.com
  3. www.codeproject.com
  4. www.aspnet.com

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 Indonesia (ST-INTEN). Senang mengutak-atik computer yang berkaitan dengan bahasa pemrograman. Keahlian, sedikit mengerti beberapa bahasa pemrograman seperti : VB.Net, ASP.NET, Delphi, VBA. Reporting : Crystal Report (Under Program). Database : Access, paradox dan SQL Server 2000. Simulation / Modeling Packages: Visio Enterprise, Rational Rose dan Power Designer. Dan senang bermain gitar, karena untuk bisa menjadi pemain gitar dan seorang programmer sama-sama membutuhkan seni. Pada saat ini bekerja di salah satu Perusahaan Swasta di BATAM sebagai Sofware Development. Mempunyai moto hidup : “Jauh lebih baik menjadi Orang Bodoh yang giat belajar, dari pada orang Pintar yang tidak pernah mengimplementasikan ilmunya”.

Kritik dan saran kirim ke : xx_lead@yahoo.com

junindar@gmail.com

Tidak ada komentar: