0

そのため、インターンシップでコードを作成して、いくつかの Excel ワークシートを MySQL DB にリンクし、それらを最新の状態に保つ必要があります。これまでのところ、これはありますが、エラーが発生し続けます。間違いはありますか?読んでくれてありがとう。

エラーは次のとおりです: ランタイム エラー -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
4

1 に答える 1

0

MySQL は "[" をサポートしていませんが、代わりに " ` " を使用してください。

接続文字列が問題なのかもしれません。

ODBC 接続スタイル

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

OLEDB 接続スタイル

Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;
于 2012-10-07T20:16:17.463 に答える