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
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