Coba bantu pakai cara saya yang sedang belajar MySQL.

1. Download dulu "MySQL ODBC 5.1 Driver Connector" di
http://dev.mysql.com/downloads/connector/odbc/5.1.html

2. Install program di atas.

3. Buat Macro idenya didapat dari
http://www.freevbcode.com/ShowCode.asp?ID=6187 

sudah saya aplikasikan di program timesheet User Interfacenya pakai Excel,
databasenya MySQL. Rencana mau saya migrasi ke php.

 

Dengan modifikasi sbb:

3.1. Set reference library ke Microsoft ActiveX Data Objects



3.2. Tulis atau copy kode yang ada di attachment

 

Silahkan mencoba.

________________________________________

From: [email protected] [mailto:[email protected]] On Behalf
Of chusk soepono

Sent: Thursday, January 07, 2010 8:23 AM

To: [email protected]

Subject: ]] XL-mania [[ Link excel ke MySQL

 

  

Dear Excel Expert,

Ada yang punya pengalaman me-link excel ke data base MySQL menggunakan ODBC
/ADO?, Mohon dishare trick macro nya dong?

 

Misalnya diinginkan membuat sheet di excel ngelink dengan:

database    : DBmySQL

Tabel          : tblmySQL

Field            :FieldmySQL1,FieldmySQL2,FieldmySQL3

 

Ingin ditulis ke worksheet :

Sheet    :sheet1

Kolom : KolomA,KolomB,KolomC

 

catatan:

Jumlah record sifatnya dinamis -->bila ditambah/didelete di MySQL bisa
langsung update di Excelnya.

MySQL servernya ada dikomputer lain dengan IP : 192.168.1.5

IP Excel nya     : 192.168.1.6

user mySQL    : usersql

Password        : passwordmysql

 

Mohon dibantu step-stepnya ya ...

 

Terima kasih,

Adi

 

 

<<image001.jpg>>

Option Explicit
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim db As String
dim g_username as string,g_passwd  as string, g_serverIP as string

'********************************************
Private Function connectMysql(username As String, passwd As String, serverIP As 
String, db As String, conn As ADODB.Connection, rs As ADODB.Recordset)
   Set conn = New ADODB.Connection
   Set rs = New ADODB.Recordset
   conn.CursorLocation = adUseClient
   conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=" & serverIP 
& ";UID=" & username & ";PWD=" & passwd & ";DATABASE=" & db & ";" _
   & "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 163841
   conn.Open
End Function
Function CanConnectMySQL(username As String, passwd As String, serverIP As 
String, db As String) As Boolean
   Set conn = New ADODB.Connection
   conn.CursorLocation = adUseClient
   conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 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 = 0 Then
        CanConnectMySQL = True
   Else
        CanConnectMySQL = False
   End If
End Function

Private Function CanOpenRecordset(byVal ssql As String) As Boolean
On Error Resume Next
Call connectMysql(g_username, g_passwd, g_serverIP, g_db, conn, rs)
If Err Then
    MsgBox "cannot connect database..."
    CanOpenRecordset = False
    Exit Function
Else
    CanOpenRecordset = True
End If
rs.Open ssql, conn
End Function
'********************************************

Sub AmbilRecordDariServerMySql()
    g_username = “usersql”
    g_passwd = “passwordmysql”
    g_serverIP = “192.168.1.5”
    g_db="DBmySQL"
    If CanConnectMySQL(g_username, g_passwd, g_serverIP, g_db) Then
        if CanOpenRecordset("select FieldmySQL1,FieldmySQL2,FieldmySQL3 from 
tblmySQL;") then
                'buat macro di sini untuk menulis recordset ke excel.
        end if
    Else
        MsgBox "Tidak bisa nyambung"
    End If
End Sub

Kirim email ke