2012-10-05 98 views
0

所以,我必須在我的實習中編寫一段代碼,將一些excel工作表與MySQL數據庫鏈接起來,並保持更新,到目前爲止,我有這個,但它一直給我錯誤。你有沒有看到任何錯誤? 感謝您的閱讀。連接到Excel中的Mysql數據庫

我得到的錯誤是:運行時錯誤-2147217900自動化錯誤。

PS:我是很新的VBA

Dim server_name As String 
Dim database_name As String 
Dim user As String 
Dim Password As String 
Dim rs As adodb.Recordset 
Dim naam As String 
Dim oConn As adodb.Connection 


Public Sub getSerieNummer() 

Dim result As String 
Dim b As Long 
Dim strSQL As String 

naam = Range("C1").Value 

server_name = "servername" 
database_name = "dbname" 
user_id = "idname" 
Password = "password" 

Set oConn = New adodb.Connection 
oConn.Open "SERVER=" & server_name _ 
& ";PORT=3306" _ 
& ";DATABASE=" & database_name _ 
& ";UID=" & user_id _ 
& ";PWD=" & Password & _ 
";DSN=name_in_odbc;" 

strSQL = "SELECT [serial_number] FROM view_aix WHERE [name] ='" & naam & "';" 
Set rs = oConn.Execute(strSQL) 

b = 0 
With rs 
    Do Until .EOF 
    b = b + 1 
    result = !serial_number 
    rs.MoveNext 
    Loop 
End With 
    oConn.Close 
    rs.Close 
Set rs.ActiveConnection = Nothing 
Set oConn = Nothing 
Range("C2").Value = result 

End Sub 
+1

您需要提供錯誤的詳細信息..它甚至連接? ('naam'必須單引號,如果它是一個字符串的話) –

+0

是否有必要編寫代碼...如果沒有的話請通過本教程http://helpdeskgeek.com/office-tips/excel-to-mysql/ – Shubhansh

+0

在我的sql字符串中插入單引號後仍然出現相同的錯誤。我想我必須編寫它,因爲Excel表已經創建好了,我必須從Excel數據庫中的某些單元格中插入數據。我認爲沒有編碼就無法做到這一點。 – user1722742

回答

0

的MySQL不支持 「[」 改爲使用 「`」。

也許是你的連接字符串的問題。

ODBC連接型式

Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase; 

OLEDB連接型式

Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;