Import Data dari Excel ke dalam Database - VB6

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

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

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

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

6. Dan yang terakhir panggil fungsi koneksi yang sudah kita buat dalam Modul dalam Event Form Load
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