AGUNG TUTORIAL

Belajar Bordir Wilcom dan Tajima Mesin SWF, VBA Macro Excel, Design Grafis CorelDraws, Video Editing, Download Software-software, Solusi Masalah Error Komputer, Jaringan dan Internet, Analisis Jaringan, Analisis Problem Hardware dan sebagainya

10/10/2018

VBA EXCEL UNTUK IMPORT DATABASE DARI ADODB, MYSQL, SQL SERVER DAN NOTEPAD

Database atau basis data merupakan kumpulan data yang disimpan secara sistematis di dalam komputer dengan menggunakan aplikasi seperti Microsoft Acces, Mysql, Microsoft SQL Server untuk dapat diolah dan dimanupulasi sesuai kebutuhan user. Data-data yang tersimpan tersebut dapat pula diakses menggunakan Microsoft Excel secara wizard maupun menggunakan VBA Excel. Yang akan dibahas kali ini adalah cara ekspor data dari Microsoft Acces, MySQL, SQL Server dan Notepad untuk ditampilkan di Range atau cell-cell pada Microsoft Excel dengan menggunakan kode perintah VBA Excel.

VBA IMPORT DATABASE ADODB (ACCESS) KE EXCEL
Sebelum menuliskan kode perintah Vba untuk menampilkan data adodb ke Excel pertama-tama aktifkan terlebih dahulu Microsoft Active Data Objects 6.0 Library dengan cara klik menu Tool>Add Rerences.


Jangan lupa file data Microsoft Access (*.mdb) berada pada directory yang sama dengan file excel macro (*.xlsm). Karena akan dipanggil oleh kode perintah Data Source.




Sekarang masukan kode berikut ini ke dalam Microsoft Visual Basic for Applications Excel.

 'CODE IMPORT DATABASE 1 ACCES  
 Sub importAccessdata()  
   Dim cnn As ADODB.Connection  
   Dim rs As ADODB.Recordset  
   Dim sQRY As String  
   Dim strFilePath As String  
   ‘Get Path or Get Directory File Excel use Activeworkbook.path  
   strFilePath = ActiveWorkbook.Path & "\Data.mdb"  
   Set cnn = New ADODB.Connection  
   Set rs = New ADODB.Recordset  
   cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _  
   "Data Source=" & strFilePath & ";"  
   sQRY = "SELECT * FROM TPenjualan" 'Query data  
   rs.CursorLocation = adUseClient  
   rs.Open sQRY, cnn, adOpenStatic, adLockReadOnly  
   Application.ScreenUpdating = False  
   'Range Address as show database  
   Sheet1.Range("A3").CopyFromRecordset rs  
   rs.Close  
   Set rs = Nothing  
     cnn.Close  
   Set cnn = Nothing  
     Exit Sub  
 End Sub  

Setelah itu panggillah (Call) fungsi importAccessdata dengan cara memasukan kode
Call importAccessdata di dalam fungsi events click atau selectionChange seperti dibawah ini,

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
   Select Case Target .Address  
    Case Range("F2") .Address  
       Call importAccessdata  
     Case Range("F3") .Address  
       'Call GetDataMysql .Address  
     Case Range("F4") .Address  
       'Call GetDataSQL  
     Case Else  
      Exit Sub  
   End Select  
 End Sub  

Perhatikan hasilnya, 


Download Excel dan Data.mdb

VBA IMPORT DATABASE MYSQL KE EXCEL

Untuk mengetahui Code Perintah Code VBA yang saya berikan apakah terbukti berjalan atau tidak, alangkah baiknya kita tampilkan terlebih dahulu data di MySQL serta install mysql-connector-odbc-5.1.8-win32.msi. Dimana data tersebut berada pada Database latihan2 dengan nama tabelnya adalah Karyawan. Perhatikan tata cara menampilkan data di MySql yang ditunjukkan oleh gambar berikut ini,




Selanjutnya aktifkan Microsoft Active Data Objects 6.0 Library dan masukan kode berikut ini ke dalam Microsoft Visual Basic for Applications Excel.

 Sub GetDataMysq1()  
   Dim cn As ADODB.Connection  
   Dim Password As String  
   Dim SQLStr As String  
   Dim Server_Name As String  
   Dim User_ID As String  
   Dim Database_Name As String  
   Dim table_name As String  

   Set rs = CreateObject("ADODB.Recordset")  
   Server_Name = "localhost"  
   Database_Name = "latihan2"  
   User_ID = "root"  
   Password = "agung"  
   table_name = "karyawan"  

   Set cn = New ADODB.Connection  
   cn.Open "Driver={MySQL ODBC 5.1 Driver};Server=" & _  
       Server_Name & ";Database=" & Database_Name & _  
       ";Uid=" & User_ID & ";Pwd=" & Password & "; Option=3;"  
   SQLStr = "SELECT * FROM karyawan;"  
   rs.Open SQLStr, cn, adOpenStatic  
   ThisWorkbook.Sheets(1).Range("H3").CopyFromRecordset rs  
   cn.Close  
   MsgBox "DONE!"  
 End Sub  

Setelah itu panggillah (Call) fungsi GetDataMysq1 dengan cara memasukan kode Call GetDataMysq1 di dalam fungsi events click atau selectionChange seperti dibawah ini,

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
   Select Case Target.Address  
     Case Range("F2").Address  
       'Call GetDataAcces  
       Call importAccessdata  
     Case Range("F3").Address  
       Call GetDataMysq1  
     Case Range("F4").Address  
       'Call GetDataSQL  
     Case Else  
       Exit Sub  
   End Select  
 End Sub  

Perhatikan hasilnya,


Download Excel dan Data.mdb

VBA IMPORT DATABASE SQL SERVER KE EXCEL


Tidak ada komentar:

Posting Komentar