payclick

loading...

Skript Project @ Import Database Dari File Excel Dengan VB

Import Database Dari File Excel Dengan VB. 

Pada kesempatan kali ini saya akan membahas tentang import database dari file excel dengan menggunakan vb 6 pada kesempatan sebelumnyasaya pernah membahas tentang Membaca Dan Menampilkan Data Dari File Excel di VB 6, postingan ini merupakan kelanjutan dari postingan tersebut. Pada postingan tersebut hanya membaca dan menampilkan data dari file excel saja,  pada kesempatan kali ini setelah data file excelnya tampil pada msflexgrid kita akan masukan ke dalam sebuah tabel dalam database. Jadi tidak hanya di tampilkan saja melainkan di import masuk kedalam tabel.

Ini sangat berguna jika kita menginginkan memasukan sebuah data dari file excel sehingga kita tidak perlu menginput satu persatu datanya atau aplikasi yang kita buat ada fitur import database dari file excel. Bagaimanakah cara Import Database Dari File Excel Dengan VB ?  ikutilah langkah-langkahnya sebagai berikut ini

Buka Microsoft Visual Basic 6 dan buat dan desainlah sebuah form seperti gambar yang ada di bawah ini

Tampilkan Gambar


Jika sudah selesai mendesainnya lalu tambahkan sebuah modul dengan cara klik menu Project-Add Modul lalu ketikan kode berikut ini 

01Public conXls As ADODB.Connection
02Public Conn As New ADODB.Connection
03
04'Function Ini di gunakan untuk koneksi ke file excel
05Public Function openExcelFile(ByVal excelFile As StringAs Boolean
06    On Error GoTo errHandle
07    '-----------------------
08    'Jika menggunakan Office 2007 ke atas ganti Provider=Microsoft.Jet.OLEDB.4.0;
09    'menjadi Provider=Microsoft.ACE.OLEDB.12.0;
10     
11    Set conXls = New ADODB.Connection
12    conXls.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
13                            "Data Source=" & Replace(excelFile, Chr$(0), "") & ";" _
14                            "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
15    conXls.Open
16    '-------------------
17    openExcelFile = True
18    Exit Function
19errHandle:
20    openExcelFile = False
21End Function
22
23'Untuk koneksi database ms access pd waktu memasukan data ke dlm database
24Public Sub KonekDb()
25    Set Conn = New ADODB.Connection
26     
27    'Jika menggunakan ms access 2007 keatas pakailah koding berikut:
28    'Conn.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & App.Path & "\db_mhs.accdb;"
29    'Conn.CursorLocation = adUseClient
30     
31    Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB_MHS.mdb"
32    Conn.CursorLocation = adUseClient
33End Sub


Jika Sudah buka desain formnya kemudian double klik formnya kemudian ketikan kode berikut ini pada general declarations 

01Dim rsExcel     As ADODB.Recordset
02    Dim strSql      As String
03    Dim Baris       As Long
04    Dim SQL         As String
05
06'Untuk Mengatur Tampilan MSFlexGrid1
07Sub AktifMSFlexGrid1()
08    MSFlexGrid1.Cols = 5
09    MSFlexGrid1.RowHeightMin = 300
10    '-------------------------------------------------
11    MSFlexGrid1.Col = 0
12    MSFlexGrid1.Row = 0
13    MSFlexGrid1.Text = "NO"
14    MSFlexGrid1.CellFontBold = True
15    MSFlexGrid1.ColWidth(0) = 500
16    MSFlexGrid1.AllowUserResizing = flexResizeColumns
17    MSFlexGrid1.CellAlignment = flexAlignCenterCenter
18    '-------------------------------------------------
19    MSFlexGrid1.Col = 1
20    MSFlexGrid1.Row = 0
21    MSFlexGrid1.Text = "NIM"
22    MSFlexGrid1.CellFontBold = True
23    MSFlexGrid1.ColWidth(1) = 900
24    MSFlexGrid1.AllowUserResizing = flexResizeColumns
25    MSFlexGrid1.CellAlignment = flexAlignCenterCenter
26    '-------------------------------------------------
27    MSFlexGrid1.Col = 2
28    MSFlexGrid1.Row = 0
29    MSFlexGrid1.Text = "NAMA MAHASISWA"
30    MSFlexGrid1.CellFontBold = True
31    MSFlexGrid1.ColWidth(2) = 2000
32    MSFlexGrid1.AllowUserResizing = flexResizeColumns
33    MSFlexGrid1.CellAlignment = flexAlignCenterCenter
34    '-------------------------------------------------
35    MSFlexGrid1.Col = 3
36    MSFlexGrid1.Row = 0
37    MSFlexGrid1.Text = "ALAMAT"
38    MSFlexGrid1.CellFontBold = True
39    MSFlexGrid1.ColWidth(3) = 2000
40    MSFlexGrid1.AllowUserResizing = flexResizeColumns
41    MSFlexGrid1.CellAlignment = flexAlignCenterCenter
42    '---------------------------------------------------
43    MSFlexGrid1.Col = 4
44    MSFlexGrid1.Row = 0
45    MSFlexGrid1.Text = "JURUSAN"
46    MSFlexGrid1.CellFontBold = True
47    MSFlexGrid1.ColWidth(4) = 2000
48    MSFlexGrid1.AllowUserResizing = flexResizeColumns
49    MSFlexGrid1.CellAlignment = flexAlignCenterCenter
50End Sub


Jika sudah selesai kemudian double klik CmdBuka dan ketikanlah kode berikut ini yang berfungsi untuk menampilkan data dari file excel ke dalam sebuah MsFlexgrid: 

01Private Sub CmdBuka_Click()
02    MSFlexGrid1.Clear
03    Call AktifMSFlexGrid1
04    Baris = 0
05    'Memilih File Excel
06    With CommonDialog1
07        .DialogTitle = "Pilih File Excelnya (.xls)"
08        .InitDir = App.Path
09        .Filter = "SQL Files (*.xls)|*.xls"
10        'jika menggunakan file excel 2007 keatas
11        'untuk .Filter = "SQL Files (*.xls)|*.xls" '
12        'Ganti dengan .Filter = "SQL Files (*.xlsx)|*.xlsx"
13        .ShowOpen
14    End With
15    'menampilkan nama filenya di textbox
16    TxtNamaFile.Text = CommonDialog1.FileName
17    'Membuka File Excel
18    If openExcelFile(CommonDialog1.FileName) Then
19        'selanjutnya data yg diambil ada di sheet1,
20        'sheet disini sama seperti tabel yang ada di database
21        strSql = "SELECT * FROM [Sheet1$]" ' penting !!!, jangan lupa menambahkan karakter $
22        Set rsExcel = New ADODB.Recordset
23        rsExcel.Open strSql, conXls, adOpenForwardOnly, adLockReadOnly
24        'tampilkan data yg ada sheet1 ke MSFlexGrid1
25        If Not rsExcel.EOF Then
26            Do While Not rsExcel.EOF
27                Baris = Baris + 1
28                MSFlexGrid1.Rows = Baris + 1
29                MSFlexGrid1.TextMatrix(Baris, 0) = Baris
30                MSFlexGrid1.TextMatrix(Baris, 1) = rsExcel(0).Value
31                MSFlexGrid1.TextMatrix(Baris, 2) = rsExcel(1).Value
32                MSFlexGrid1.TextMatrix(Baris, 3) = rsExcel(2).Value
33                MSFlexGrid1.TextMatrix(Baris, 4) = rsExcel(3).Value
34                rsExcel.MoveNext
35                DoEvents
36            Loop
37        End If
38        rsExcel.Close
39        Set rsExcel = Nothing
40    End If
41End Sub


Jika sudah kemudian double klik CmdImport dan ketikankah kode berikut ini yang berfungsi untuk menyimpan data yang telah tampil di MsFlexGrid 

01Private Sub CmdImport_Click()
02On Error GoTo AdaError
03    Dim As Integer
04    Call KonekDb
05    For i = 1 To MSFlexGrid1.Rows - 1
06        SQL = ""
07        SQL = "INSERT INTO Tbl_Mhs(Nim,Nama,alamat,jurusan) " _
08            "VALUES ('" & MSFlexGrid1.TextMatrix(i, 1) & "'," _
09            "'" & MSFlexGrid1.TextMatrix(i, 2) & "'," _
10            "'" & MSFlexGrid1.TextMatrix(i, 3) & "'," _
11            "'" & MSFlexGrid1.TextMatrix(i, 4) & "')"
12        Conn.Execute (SQL), , adCmdText
13        DoEvents
14    Next i
15    MsgBox "Import data berhasil, Silahkan di cek...", vbInformation,".:: Sukses..."
16    Exit Sub
17AdaError:
18If Err.Number = -2147467259 Then
19    MsgBox "NIM " & MSFlexGrid1.TextMatrix(i, 1) & " sudah ada dalam database." & vbCrLf & _
20    "Pada file excelnya di baris " & i + 1 & " ,silahkan hapus terlebih dahulu lalu ulangi.", vbCritical, ".:: Gagal...!!!"
21    Exit Sub
22Else
23    MsgBox "Error No : " & Err.Number & vbCrLf & _
24    Err.Description, vbCritical + vbOKOnly, "Error......"
25End If
26End Sub


Kemudian tulislah kode pada bagian form load, double klik formnya kemudian tulis kode berikut ini 

1Private Sub Form_Load()
2    Call AktifMSFlexGrid1
3End Sub


Jika sudah semuanya silahkan programnya di jalankan,jika berhasil akan tampil seperti gambar animasi berikut ini 



Selesai. semoga tutorial ini bermanfaat. Jika anda tidak ingin ribet mendesain dan menulis kodenya silahkan download source kodenya yang telah saya sediakan di link di akhir tulisan ini. Silahkan di download dan digunakan dengan baik.

Pada postingan berikutnya saya akan membuat sebuah tutorial Bagaimana Cara Eksport Database Ke Ms Excel. Tunggu ya...?

Tutorial ini dapat di terapkan tidak hanya untuk database ms access saja bisa, anda bisa menerapkan pada database MS SQL Server maupun MySQL Server tinggal diganti saja koneksi nya.







0 Response to "Skript Project @ Import Database Dari File Excel Dengan VB"