Import Data dari Excel ke dalam Database - VB6
Thursday, August 11, 2016
Add Comment
Selamat siang pembaca,
Kali ini saya akan membagikan bagaimana cara untuk mengambil data dari excel dan dimasukkan ke dalam database. Dalam hal kasus disini saya akan menggunakan database ms.acces untuk menyimpan datanya. Untuk alur konsepnya dalam mengambil data dari excel adalah data harus kita tampilkan ke dalam listview, kemudian dilakukan proses multiple simpan.
Hal tersebut biasanya digunakan dalam migrasi sebuah sistem yang masih menggunakan excel, dimana apabila data pada sistem lama sudah terlalu banyak, dan ingin menggunakan sistem baru, maka hal ini sangat penting untuk dilakukan. Bayangkan apabila kita harus input satu demi satu kedalam sistem, mungkin waktu yang dibutuhkan akan terlalu banyak, dan itu akan membuang waktu yang sia-sia. Oke langsung saja kita mulai
Kali ini saya akan membagikan bagaimana cara untuk mengambil data dari excel dan dimasukkan ke dalam database. Dalam hal kasus disini saya akan menggunakan database ms.acces untuk menyimpan datanya. Untuk alur konsepnya dalam mengambil data dari excel adalah data harus kita tampilkan ke dalam listview, kemudian dilakukan proses multiple simpan.
Hal tersebut biasanya digunakan dalam migrasi sebuah sistem yang masih menggunakan excel, dimana apabila data pada sistem lama sudah terlalu banyak, dan ingin menggunakan sistem baru, maka hal ini sangat penting untuk dilakukan. Bayangkan apabila kita harus input satu demi satu kedalam sistem, mungkin waktu yang dibutuhkan akan terlalu banyak, dan itu akan membuang waktu yang sia-sia. Oke langsung saja kita mulai
1. Buat desain Form seperti gambar dibawah ini :
2. Kita langsung masuk ke pengkodean, Buat Modul untuk koneksi databasenya :
Option Explicit
Public con As New ADODB.Connection
Public rs As New ADODB.Recordset
Sub buka()
con.CursorLocation = adUseClient
If con.State = adStateClosed Then
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\db.mdb; "
con.Open
End If
End Sub
3. Buatlah fungsi untuk mengambil data dari Ecxelnya :
Sub ImportFromExcel()
Dim l As ListItem
Dim exc As Excel.Application
Dim wbk As Excel.Workbook
Dim sht As Excel.Worksheet
Set exc = Excel.Application
Set wbk = Excel.Workbooks.Open(Me.CommonDialog1.FileName)
Set sht = wbk.Sheets(1)
Me.ListView1.ListItems.Clear
Me.ListView1.ColumnHeaders.Clear
baris = 1
kolom = 1
While sht.Cells(1, kolom) <> ""
Me.ListView1.ColumnHeaders.Add , , sht.Cells(1, kolom)
kolom = kolom + 1
kolommax = kolom - 1
Wend
While sht.Cells(baris, 1) <> ""
If baris > 1 Then
Set l = Me.ListView1.ListItems.Add(, , sht.Cells(baris, 1))
kolom = 2
For i = kolom To kolommax
l.SubItems(i - 1) = sht.Cells(baris, i)
Next i
End If
baris = baris + 1
barismax = baris
Wend
kolom = 1
baris = 1
wbk.Close
exc.Quit
End Sub
Public con As New ADODB.Connection
Public rs As New ADODB.Recordset
Sub buka()
con.CursorLocation = adUseClient
If con.State = adStateClosed Then
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\db.mdb; "
con.Open
End If
End Sub
3. Buatlah fungsi untuk mengambil data dari Ecxelnya :
Sub ImportFromExcel()
Dim l As ListItem
Dim exc As Excel.Application
Dim wbk As Excel.Workbook
Dim sht As Excel.Worksheet
Set exc = Excel.Application
Set wbk = Excel.Workbooks.Open(Me.CommonDialog1.FileName)
Set sht = wbk.Sheets(1)
Me.ListView1.ListItems.Clear
Me.ListView1.ColumnHeaders.Clear
baris = 1
kolom = 1
While sht.Cells(1, kolom) <> ""
Me.ListView1.ColumnHeaders.Add , , sht.Cells(1, kolom)
kolom = kolom + 1
kolommax = kolom - 1
Wend
While sht.Cells(baris, 1) <> ""
If baris > 1 Then
Set l = Me.ListView1.ListItems.Add(, , sht.Cells(baris, 1))
kolom = 2
For i = kolom To kolommax
l.SubItems(i - 1) = sht.Cells(baris, i)
Next i
End If
baris = baris + 1
barismax = baris
Wend
kolom = 1
baris = 1
wbk.Close
exc.Quit
End Sub
4. Tambahkan Komponen "CommonDialog1", kemudian pada tombol "Import From Excel" tambahkan kode seperti dibawah ini :
Private Sub Command1_Click()
Me.CommonDialog1.DialogTitle = "Buka File"
Me.CommonDialog1.Filter = "Microsoft Excel 2007 Worksheet (*.xlsx)|*.xlsx|Microsoft Excel 1997-2003 Worksheet (*.xls)|*.xls"
Me.CommonDialog1.ShowOpen
If Me.CommonDialog1.FileName <> "" Then
ImportFromExcel
End If
Me.CommonDialog1.FileName = ""
End Sub
Me.CommonDialog1.DialogTitle = "Buka File"
Me.CommonDialog1.Filter = "Microsoft Excel 2007 Worksheet (*.xlsx)|*.xlsx|Microsoft Excel 1997-2003 Worksheet (*.xls)|*.xls"
Me.CommonDialog1.ShowOpen
If Me.CommonDialog1.FileName <> "" Then
ImportFromExcel
End If
Me.CommonDialog1.FileName = ""
End Sub
5. Sekarang pada tombol simpan sesuaikan kodenya seperti dibawah ini :
Private Sub cmdSave_Click()
Dim i As Integer
Dim myList As ListItem
Dim strQuery As String
For i = 1 To Me.ListView1.ListItems.Count
Set myList = Me.ListView1.ListItems(i)
With myList
con.Execute "INSERT INTO tblSiswa (namasiswa, kelas, noujian, ruang) values( " & _
"'" & .SubItems(1) & "'," & _
"'" & .SubItems(2) & "'," & _
"'" & .SubItems(3) & "'," & _
"'" & .SubItems(4) & "')"
End With
Next
MsgBox "Data berhasil di simpan", vbInformation, "Informasi"
End Sub
Dim i As Integer
Dim myList As ListItem
Dim strQuery As String
For i = 1 To Me.ListView1.ListItems.Count
Set myList = Me.ListView1.ListItems(i)
With myList
con.Execute "INSERT INTO tblSiswa (namasiswa, kelas, noujian, ruang) values( " & _
"'" & .SubItems(1) & "'," & _
"'" & .SubItems(2) & "'," & _
"'" & .SubItems(3) & "'," & _
"'" & .SubItems(4) & "')"
End With
Next
MsgBox "Data berhasil di simpan", vbInformation, "Informasi"
End Sub
6. Dan yang terakhir panggil fungsi koneksi yang sudah kita buat dalam Modul dalam Event Form Load
Private Sub Form_Load()
buka
End Sub
Private Sub Form_Load()
buka
End Sub
Sekarang jalankan project anda, ambil data dari Excelnya. Untuk formatnya sesuaikan dengan tabel yang akan kita masukkan kedalam database. Untuk lebih jelasnya saya sertakan source code, silahkan anda ambil dan anda pelajari disini.
Semoga bermanfaat, terima kasih
0 Response to "Import Data dari Excel ke dalam Database - VB6"
Post a Comment