ZDIRY-TUFWT-EBONM-EYJ00-IDBLANTER.COM
ZDIRY-TUFWT-EBONM-EYJ00

BLANTERWISDOM105

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

10/10/2018
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


Share This :

0 Comments