Be-Excel,

Sekedar sharing saja saat ini saya menggunakan excel dan mysql untuk pengolahan 
dan tampilan database.

Saya menggunakan excel untuk input database dan tampilan hasil query atau 
custom report berupa form. Alasan menggunakan Excel sebagai interface (GUI) 
karena saya baru bisa vba-programming belum kesampaian belajar asp ataupun php 
programming.

 

MySQL saya pilih karena ada versi free-nya. Pernah saya buat database dengan 
excel workbook tetapi mengingat jumlah record yang tiap hari terus berkembang. 
Jika saya tetap menggunakan excel mungkin akan tidak mampu menampung recordnya.

 

 

Untuk melakukan link mySQL ke excel saya menggunakan ODBC Connector bisa di 
download http://dev.mysql.com/downloads/connector/odbc/3.51.html

SQL Syntax sebelum dijalankan saya coba MySQL browser atau menggunakan 
Microsoft Query yang ada di Excel.

 

Silakan berkunjung di 
http://cadex.wordpress.com/2011/02/17/gen-pmg-05-pivot-table-excel-data-dari-query-database-mysql/
 untuk pengambilan data dari mysql ke excel.

 

Secara singkat agar vba-excel bisa berkomunikasi atau interaksi dengan mySQL 
lakukan langkah berikut:

1. MySQL sdh terinstall. UserID dan Password untuk membuka database sudah punya

2. Install ODBC Connector

3. Lakukan setting reference di vba-excel ke: Microsoft ActiveX Data Objects 
Library

4. Buat fungsi di vba untuk connect ke database:

 

'********************************************

Function connectMysql(username As String, passwd As String, serverIP As String, 
db As String, conn As ADODB.Connection) As Boolean

'source :http://www.freevbcode.com/ShowCode.asp?ID=6187

   conn.CursorLocation = adUseClient

   conn.ConnectionString = "DRIVER={MySQL ODBC 5.2 Unicode Driver};SERVER=" & 
serverIP & ";UID=" & username & ";PWD=" & passwd & ";DATABASE=" & db & ";" _

   & "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 163841

   On Error Resume Next

   conn.Open

   If Err.Number Then

     Err.Clear

    connectMysql = False

    Else

    connectMysql = True

    End If

End Function

'*****************************

 

 

5. Buat procedure untuk menampilkan object recordset

'***********open recordset

Sub OpenRecordSets(conn As ADODB.Connection, sSql As String, rs As 
ADODB.Recordset)

    Dim cRs As New ADODB.Recordset

    cRs.Open sSql, conn

    Set rs = cRs

End Sub

'****************

 

6. Buat procedure untuk merubah object recordset ke variant. 

Saya lebih suka cara ini karena proses cetak ke worksheet lebih cepat 
dibandingkan dengan looping tiap record kemudian dicetak ke cell

'********************************

Public Function GetRecordInVariant(sSql As String, rtnRecs() As Variant) As 
Boolean

    GetRecordInVariant = False

    If conn.State = 0 Then LoginDatabase

    If sUser = vbNullString Then Exit Function

    clsDb.OpenRecordSets conn, sSql, rs

    If rs.RecordCount > 0 Then

        rtnRecs = clsDb.RecsToVariant(rs, False)

        GetRecordInVariant = True

    End If

End Function

'********************************

 

7. Merubah variant agar bisa di cetak di excel cells

'***************************************************

Public Sub ViewRecordsOnXLS(sSql As String, aRange As Range, ViewHeader As 
Boolean)

    Dim rtnRecs() As Variant

    

    If conn.State = 0 Then LoginDatabase

    If sUser = vbNullString Then Exit Sub

    

    clsDb.OpenRecordSets conn, sSql, rs

    If rs.RecordCount = 0 Then

        'MsgBox "record kosong", vbInformation

        If ViewHeader Then

            clsDb.ViewFieldsOnSheet aRange, rs

        End If

    Else

        rtnRecs = clsDb.RecsToVariant(rs, ViewHeader)

        clsDb.ViewRecordsOnSheet aRange, rtnRecs

    End If

End Sub

'********************************************

 

Maaf jika kepanjangan bukan bermaksud menggurui kalo ada masukan sangat 
ditunggu. Terutama dari master database developer.

 

wassalam

-zainul

 

 

 

 

 

 

 

From: [email protected] [mailto:[email protected]] 

Sent: Wednesday, June 18, 2014 11:24 AM

To: [email protected]

Subject: Bls: [belajar-excel] Menggunakan Statment SQL pada Excel

 

  

Dear Pak Hendrik dan Bexcel,

Saya setuju sekali dengan ide ini...saat ini saya juga ingin belajar SQL karena 
SQL juga bisa dikaitkan dengan PHP dan sifatnya bisa online atau bisa kita 
akses via cloud...hanya saya saja apakah ada link program antara Excel dengan 
SQL...saya tunggu beritanya.

 

 

WG,

Alexander

 

Pada Rabu, 18 Juni 2014 11:18, "hendrik karnadi [email protected] 
[belajar-excel]" <[email protected]> menulis:

 

  

Rekan2 Be-Excellers,

 

Terinspirasi oleh jawaban Pak Zainal atas pertanyaan salah satu member dimana 
pak Zainal memberikan solusi dengan menggunakan SQL Statement (beserta 
prosesnya), saya tertarik untuk mempelajari lebih jauh aplikasi2 SQL untuk 
pengelolaan database dalam jumlah besar. Saya yakin ini akan bermanfaat juga 
bagi rekan2 lain yang harus mengelola database dalam jumlah besar tapi masih 
belum bisa lepas dari Excel.

 

Saya berharap ada rekan2 yang punya dan mau berbagi rujukan (internet, buku 
atau pengalaman pribadi) mengenai aplikasi2 SQL pada Excel dengan berbagai 
variasinya.

 

Terima kasih.

 

Salam,

HK

 

Kirim email ke