Pada posting sebelumnya sudah saya sebutkan contoh cara membuka file Excel di Microsoft Visual Basic 6. menggunakan ADO. Karena file Excel memang bukan "real" database, sehingga biasanya file Excel tidak dijadikan database utama dalam suatu program. Karena Microsoft Excel sudah menjadi aplikasi yang sudah umum digunakan, sehingga biasanya data-data kebanyakan disimpan ke dalam File Excel. Begitu juga dengan data-data yang dibutuhkan dalam sebuah program yang kita buat seringkali user meminta kita untuk memindahkkan data yang sudah ada dari file Excel ke dalam program yang kita buat karena user tentunya tidak mau repot untuk mengetik ulang dan menginputkan semua datanya ke dalam program kita.
Karena latar belakang itulah, perlu kita buatkan ataun tambahkan fasilitas untuk mengambil data dari file Microsoft Excel ke database yang digunakan oleh program kita. Sebagai contoh, database yang digunakan oleh program kita adalah Microsoft Access.
Kali ini akan saya berikan contoh untuk mengambil data dari File Excel menjadi tabel di File Microsoft Access menggunakan ADO.
Sub ImportExcel(Dlg As CommonDialog)
'variabel untuk koneksi database
Dim Koneksi As New ADODB.Connection
Dim rsExcel As New ADODB.Recordset
Dim strAlamat As String
Dim strKonek As String
Dlg.ShowOpen
If Dlg.FileName = "" Then Exit Sub
On Error Resume Next
strAlamat = Dlg.FileName
strKonek = "Provider=Microsoft.jet.OLEDB.4.0;"
strKonek = strKonek & "data source="
strKonek = strKonek & App.Path & "\Dataku.mdb" & ";"
'Lakukan koneksi ke file database/excel
Koneksi.CursorLocation = adUseClient
Koneksi.Open strKonek
'buka tabel/sheet
strKueri = "SELECT * INTO tblIdentitas FROM " &
strKueri = "[Excel 8.0;Database=" & strAlamat & "].[Sheet1$]"
rsExcel.Open strKueri, Koneksi, adOpenKeyset, adLockOptimistic
If Err.Number <> 0 Then
MsgBox Err.Description, vbOKOnly + vbInformation, "informasi"
Exit Sub
end if
MsgBox "Import Data selesai"
rsExcel.Close
Set rsExcel = Nothing
Koneksi.Close
Set Koneksi = Nothing
End Sub
Script di atas akan mengambil data dari Sheet1 di file Excel menjadi tabel "tblIdentitas" di File "dataku.mdb". Agar script tersebut berjalan dengan baik, file Dataku.mdb sudah harus terbentuk dan tblIdentitas masih belum ada dalam database Dataku.mdb.
Selamat Mencoba
Karena latar belakang itulah, perlu kita buatkan ataun tambahkan fasilitas untuk mengambil data dari file Microsoft Excel ke database yang digunakan oleh program kita. Sebagai contoh, database yang digunakan oleh program kita adalah Microsoft Access.
Kali ini akan saya berikan contoh untuk mengambil data dari File Excel menjadi tabel di File Microsoft Access menggunakan ADO.
Sub ImportExcel(Dlg As CommonDialog)
'variabel untuk koneksi database
Dim Koneksi As New ADODB.Connection
Dim rsExcel As New ADODB.Recordset
Dim strAlamat As String
Dim strKonek As String
Dlg.ShowOpen
If Dlg.FileName = "" Then Exit Sub
On Error Resume Next
strAlamat = Dlg.FileName
strKonek = "Provider=Microsoft.jet.OLEDB.4.0;"
strKonek = strKonek & "data source="
strKonek = strKonek & App.Path & "\Dataku.mdb" & ";"
'Lakukan koneksi ke file database/excel
Koneksi.CursorLocation = adUseClient
Koneksi.Open strKonek
'buka tabel/sheet
strKueri = "SELECT * INTO tblIdentitas FROM " &
strKueri = "[Excel 8.0;Database=" & strAlamat & "].[Sheet1$]"
rsExcel.Open strKueri, Koneksi, adOpenKeyset, adLockOptimistic
If Err.Number <> 0 Then
MsgBox Err.Description, vbOKOnly + vbInformation, "informasi"
Exit Sub
end if
MsgBox "Import Data selesai"
rsExcel.Close
Set rsExcel = Nothing
Koneksi.Close
Set Koneksi = Nothing
End Sub
Script di atas akan mengambil data dari Sheet1 di file Excel menjadi tabel "tblIdentitas" di File "dataku.mdb". Agar script tersebut berjalan dengan baik, file Dataku.mdb sudah harus terbentuk dan tblIdentitas masih belum ada dalam database Dataku.mdb.
Selamat Mencoba
8 komentar:
saya masih belum ngerti mas... sebenernya ini trik konek Ms.excel ke ms.Acces atw konek Ms.Acces ke VB...??? mohon pencerahannya gan
dua-duanya bro....
Skenarionya:
Program kita menggunakan database utama Ms. Access....
Misalkan kita sudah punya data identitas tapi berupa file excel...
Terus...daripada ngetik data satu-persatu ke dalam program kita...lebih praktir kita import/ambil saja satu sheet data dari file Ms. Excel menjadi satu buah tabel ke dalam database Ms. Access di program kita...
==========
Cara sederhananya...artikel di atas...
Begitu bro...
gan boleh minta project.nya gk...?
kirim email ane dong gan..
fadildzikri@yahoo.com
sorry, untuk project yang ini datanya ikut harddiskku yang rusak...! Mungkin kalau ada yang sudah nyoba, bisa berkenan ngasih projectnya ke Fadil.
gimana caranya mas klo saya punya file excel dengan 2 kolom terus saya punya database dengan kolom yg sama, saya mau masukkan klom ke dua file excel ke database dengan pembandingnya kode
mas kalo di database acces sudah ada tabelnya gimana, dan kalo tidak bisa kodenya bagaimana?
Gan, kl ingin input beberapa sheet syntax nya gimana..??
Terima kasih..
Suriken:
Lebih baik bikin program database menggunakan akses saja. Kemudian untuk file excelnya bisa dibuka pake script untuk membuka file excel seperti link ini, sheet di excel diibaratkan sebagai tabel di access. Jadi, kalau sheet lebih dari satu berarti harus menyediakan variabel ADO.Recordset sejumlah sheet yang mau diambil datanya.
Catatan:
Jumlah sheetnya harus sudah pasti (ditentukan di awal program)
Posting Komentar