Opsi lain yaitu dengan menggunakan Microsoft ActiveX Data Object Library yang tersedia dalam library di semua versi Microsoft Office dan dapat menggunakan perintah SQL. Artinya, kita dapat menampilkan data layaknya objek listview atau objek datagrid, sehingga kita dapat mudah menyajikan data dalam bentuk yang telah diolah. Pada tutorial ini akan dipaparkan mengenai cara
Membuat Koneksi Database
Koneksi, atau fungsi koneksi dari database ini sebagai pintu masuk utama untuk mengambil atau memasukkan data dari atau ke dalam database. Untuk tutorial lengkapnya dapat di baca di tutorial Microsoft Excel : Membuat Koneksi dengan MySQLFungsi koneksi ke MySQL :
Public cnn As ADODB.Connection Public ServerName As String Public DBName As String Public UserID As String Public Password As String Public Function Test_Koneksi() ServerName = "localhost" DBName = "test" UserID = "root" Password = "" Set cnn = New ADODB.Connection cnn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver}" & _ ";SERVER=" & ServerName & _ ";DATABASE=" & DBName & _ ";UID=" & UserID & _ ";PWD=" & Password & "" cnn.Open End Function
Menampilkan Data
Data akan ditampilkan apa adanya sesuai dengan data didalam tabel MySQL. Contoh data yang akan ditampilkan sebagai berikut :NIP | Nama Lengkap | Alamat | Jurusan |
114006 | Moh Imam Santoso | Cirebon | IPA |
114007 | Mulyana | Ciamis | Bahasa |
114008 | Nurkarim | Tegal | IPS |
114009 | Jaiman | Kebumen | IPS |
114010 | Maulana | Jakarta | Bahasa |
114011 | Ido Angga Chandra Negara | Surabaya | IPS |
SQL :
CREATE DATABASE IF NOT EXISTS `test` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `test`; CREATE TABLE IF NOT EXISTS `contact` ( `NIP` varchar(50) NOT NULL, `Nama` varchar(50) DEFAULT NULL, `Alamat` varchar(50) DEFAULT NULL, `Jurusan` varchar(50) DEFAULT NULL, PRIMARY KEY (`NIP`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT IGNORE INTO `contact` (`NIP`, `Nama`, `Alamat`, `Jurusan`) VALUES ('114006', 'Moh Imam Santoso', 'Cirebon', 'IPA'), ('114007', 'Mulyana', 'Ciamis', 'Bahasa'), ('114008', 'Nurkarim', 'Tegal', 'IPS'), ('114009', 'Jaiman', 'Kebumen', 'IPS'), ('114010', 'Maulana', 'Jakarta', 'Bahasa'), ('114011', 'Ido Angga Chandra Negara', 'Surabaya', 'IPS');
- Didalam jendela macro editor, buatlah sebuah public sub procedure dengan nama LoadData() Code :
- Buatlah sebuah CommandButton untuk menjalankan sub procedure yang telah dibuat diatas
- Gantilah nama dari CommandButton diatas dengan nama "Load Data" ->
- Double klik CommandButton diatas, lalu masukkan kode dibawah :
- Selesai
Public Sub LoadData() Application.Cursor = xlWait Call Test_Koneksi Dim a, b As Range Dim rs As ADODB.Recordset On Error GoTo Er Set rs = New ADODB.Recordset strsql = "select * from contact " rs.Open strsql, cnn, adOpenStatic Dim myArr() myArr = rs.GetRows() Dim kol, rad kol = UBound(myArr, 1) rad = UBound(myArr, 2) For k = 0 To kol ActiveSheet.Range("B8").Offset(0, k).Value = rs.Fields(k).Name For l = 0 To rad ActiveSheet.Range("B8").Offset(l + 1, k).Value = myArr(k, l) DoEvents Next l Next k rs.Close Set rs = Nothing cnn.Close Set cnn = Nothing Application.Cursor = xlDefault Er: Select Case Err.Number Case 3021 MsgBox "Data not available", vbInformation End Select Application.Cursor = xlDefault End Sub

Call LoadData