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 sebelumnya saya 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
Jika sudah selesai mendesainnya lalu tambahkan sebuah modul dengan cara klik menu Project-Add Modul lalu ketikan kode berikut ini
Jika Sudah buka desain formnya kemudian double klik formnya kemudian ketikan kode berikut ini pada general declarations
Jika sudah selesai kemudian double klik CmdBuka dan ketikanlah kode berikut ini yang berfungsi untuk menampilkan data dari file excel ke dalam sebuah MsFlexgrid:
Jika sudah kemudian double klik CmdImport dan ketikankah kode berikut ini yang berfungsi untuk menyimpan data yang telah tampil di MsFlexGrid
Kemudian tulislah kode pada bagian form load, double klik formnya kemudian tulis kode berikut ini
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.
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
Public conXls As ADODB.Connection Public Conn As New ADODB.Connection 'Function Ini di gunakan untuk koneksi ke file excel Public Function openExcelFile(ByVal excelFile As String) As Boolean On Error GoTo errHandle '----------------------- 'Jika menggunakan Office 2007 ke atas ganti Provider=Microsoft.Jet.OLEDB.4.0; 'menjadi Provider=Microsoft.ACE.OLEDB.12.0; Set conXls = New ADODB.Connection conXls.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=" & Replace(excelFile, Chr$(0), "") & ";" _ & "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""" conXls.Open '------------------- openExcelFile = True Exit Function errHandle: openExcelFile = False End Function 'Untuk koneksi database ms access pd waktu memasukan data ke dlm database Public Sub KonekDb() Set Conn = New ADODB.Connection 'Jika menggunakan ms access 2007 keatas pakailah koding berikut: 'Conn.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & App.Path & "\db_mhs.accdb;" 'Conn.CursorLocation = adUseClient Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB_MHS.mdb" Conn.CursorLocation = adUseClient End Sub
Jika Sudah buka desain formnya kemudian double klik formnya kemudian ketikan kode berikut ini pada general declarations
Dim rsExcel As ADODB.Recordset Dim strSql As String Dim Baris As Long Dim SQL As String 'Untuk Mengatur Tampilan MSFlexGrid1 Sub AktifMSFlexGrid1() MSFlexGrid1.Cols = 5 MSFlexGrid1.RowHeightMin = 300 '------------------------------------------------- MSFlexGrid1.Col = 0 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "NO" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(0) = 500 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter '------------------------------------------------- MSFlexGrid1.Col = 1 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "NIM" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(1) = 900 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter '------------------------------------------------- MSFlexGrid1.Col = 2 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "NAMA MAHASISWA" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(2) = 2000 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter '------------------------------------------------- MSFlexGrid1.Col = 3 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "ALAMAT" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(3) = 2000 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter '--------------------------------------------------- MSFlexGrid1.Col = 4 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "JURUSAN" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(4) = 2000 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter End 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:
Private Sub CmdBuka_Click() MSFlexGrid1.Clear Call AktifMSFlexGrid1 Baris = 0 'Memilih File Excel With CommonDialog1 .DialogTitle = "Pilih File Excelnya (.xls)" .InitDir = App.Path .Filter = "SQL Files (*.xls)|*.xls" 'jika menggunakan file excel 2007 keatas 'untuk .Filter = "SQL Files (*.xls)|*.xls" ' 'Ganti dengan .Filter = "SQL Files (*.xlsx)|*.xlsx" .ShowOpen End With 'menampilkan nama filenya di textbox TxtNamaFile.Text = CommonDialog1.FileName 'Membuka File Excel If openExcelFile(CommonDialog1.FileName) Then 'selanjutnya data yg diambil ada di sheet1, 'sheet disini sama seperti tabel yang ada di database strSql = "SELECT * FROM [Sheet1$]" ' penting !!!, jangan lupa menambahkan karakter $ Set rsExcel = New ADODB.Recordset rsExcel.Open strSql, conXls, adOpenForwardOnly, adLockReadOnly 'tampilkan data yg ada sheet1 ke MSFlexGrid1 If Not rsExcel.EOF Then Do While Not rsExcel.EOF Baris = Baris + 1 MSFlexGrid1.Rows = Baris + 1 MSFlexGrid1.TextMatrix(Baris, 0) = Baris MSFlexGrid1.TextMatrix(Baris, 1) = rsExcel(0).Value MSFlexGrid1.TextMatrix(Baris, 2) = rsExcel(1).Value MSFlexGrid1.TextMatrix(Baris, 3) = rsExcel(2).Value MSFlexGrid1.TextMatrix(Baris, 4) = rsExcel(3).Value rsExcel.MoveNext DoEvents Loop End If rsExcel.Close Set rsExcel = Nothing End If End Sub
Jika sudah kemudian double klik CmdImport dan ketikankah kode berikut ini yang berfungsi untuk menyimpan data yang telah tampil di MsFlexGrid
Private Sub CmdImport_Click() On Error GoTo AdaError Dim i As Integer Call KonekDb For i = 1 To MSFlexGrid1.Rows - 1 SQL = "" SQL = "INSERT INTO Tbl_Mhs(Nim,Nama,alamat,jurusan) " _ & "VALUES ('" & MSFlexGrid1.TextMatrix(i, 1) & "'," _ & "'" & MSFlexGrid1.TextMatrix(i, 2) & "'," _ & "'" & MSFlexGrid1.TextMatrix(i, 3) & "'," _ & "'" & MSFlexGrid1.TextMatrix(i, 4) & "')" Conn.Execute (SQL), , adCmdText DoEvents Next i MsgBox "Import data berhasil, Silahkan di cek...", vbInformation, ".:: Sukses..." Exit Sub AdaError: If Err.Number = -2147467259 Then MsgBox "NIM " & MSFlexGrid1.TextMatrix(i, 1) & " sudah ada dalam database." & vbCrLf & _ "Pada file excelnya di baris " & i + 1 & " ,silahkan hapus terlebih dahulu lalu ulangi.", vbCritical, ".:: Gagal...!!!" Exit Sub Else MsgBox "Error No : " & Err.Number & vbCrLf & _ Err.Description, vbCritical + vbOKOnly, "Error......" End If End Sub
Kemudian tulislah kode pada bagian form load, double klik formnya kemudian tulis kode berikut ini
Private Sub Form_Load() Call AktifMSFlexGrid1 End 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.
Keywords:
Import Database Dari File Excel Dengan VB,Tutorial Import Database Dari File Excel Dengan VB,Cara Import Database Dari File Excel Dengan VB,Import Ekport Database, Trik Import Eksport Database,Cara Mudah Import Dan Eksport Database,Coding Import data dari Excel ke Database,Cara Membuat Import Data Dari Excel Menggunakan Visual Basic,Mengambil data Excel dengan Visual Basic 6,Impor data dari Excel ke Visual Basic,Import Data Excel Ke MS Access Menggunakan VB6,
gan saya coba database dan codingnya trus pas import muncul error -2147217900 mohon pencerahannya gan ?
ReplyDeletegan saya coba edit database dan codingnya trus pas import muncul error -2147217900 mohon pencerahannya gan ?
ReplyDeletenim nya sudah ada di dalam database gan. jika ada nim yang sama (double) atau sudah ada dalam tabel maka akan error atau datanya tidak akan masuk. karena nim nya saya buat primery key. coba data dalam tabel di hapus semua baru import. klo datanya sudah masuk g usah di import lagi. trima kasih...
ReplyDeletedatabase dalam keadaan kosong gan trus primary key nya saya hapus gan tapi tetep muncul error kaya gitu..
ReplyDeleteklo mau silahkan dikirim source kodenya sama file excelnya ke email saya : birawa_84@yahoo.co.id biar nanti saya cek dan benerin gan.
ReplyDeleteterima kasih Gan.., semoga Allah yang balas semua kebaikan nya
ReplyDeletejaenal
mas, adakah fb ato WA yg bisa untuk chatingan ? ane mau memperdalam ilmu vb juga nih.. tq
ReplyDeleteini FB saya :facebook.com/hadiasoka
Deletegan filenya nggak bisa di ada
ReplyDeleteTerima Kasih gan untuk laporannaya, sudah saya perbaiki silahkan di download
Deletegan kok ditempat saya eror terus ya padahal udah di hapus primary key nya
Deletecoba di kirim ke email sorce code sama data file excelnya biar saya cek mas. birawa_84@yahoo.co.id
Deletelink download kok di blokir " telah dilaporkan sebagai situs penyerang " apa maksudnya ?
ReplyDeletemas.. ada WA or bbm gag?? boleh minta?? aku mau nanya" mas.. terimakasih
ReplyDeleteOm Hadi Asoka ada nomor utk WA...mau minta bbrapa pencerahan ini mengenai VB6? Thanks
ReplyDeleteada 085 663 25 035
Deletesiang bro, kode ini untuk database Akcess, ya...
ReplyDeletekalau untuk database model SQL Sever bagaimana ya??
tinggal disesuikan pada bagian koneksi ke databasenya aja. yang lain sama
DeleteTinggal ganti pada bagian ini aja, ganti dengan koneksi Ke SQL Server nya
Public Sub KonekDb()
Set Conn = New ADODB.Connection
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB_MHS.mdb"
Conn.CursorLocation = adUseClient
End Sub
apa yang perlu saya ubah kalau saya hanya ingin mengimport beberapa kolom spesifik dari excel saya saja? terima kasih
ReplyDeleteerror 3001 kenapa yach...
ReplyDeleteMantap gan, terimakasih tutorialnya sangat membantu sekali 😁😁😁
ReplyDelete