VBA を使用して Excel 内から MySQL データベースに接続するのは、特に標準の接続方法が機能しない場合に困難になる場合があります。 。発生した特定のエラーを理解することは、解決策を見つけるために非常に重要です。
提供されたコードでは、接続エラーは New キーワードの誤った使用が原因である可能性が高くなります。接続を確立するには、New を使用せずに ADODB.Connection オブジェクトのインスタンスを作成する必要があります。したがって、修正されたコードは次のようになります。
<code class="vba">Dim oConn As ADODB.Connection Private Sub ConnectDB() Set oConn = CreateObject("ADODB.Connection") Dim str As String str = "DRIVER={MySQL ODBC 5.2.2 Driver};" & _ "SERVER=sql100.xtreemhost.com;" & _ "PORT=3306" & _ "DATABASE=xth_9595110_MyNotes;" & _ "UID=xth_9595110;" & _ "PWD=myPassword;" & _ "Option=3" ''' error ''' oConn.Open str End Sub</code>
さらに、データベースから Excel にデータを挿入するために使用されるコードも若干間違っていることに注意してください。 InsertData サブルーチンの修正バージョンは次のとおりです。
<code class="vba">Private Sub InsertData() Dim rs As ADODB.Recordset Set rs = CreateObject("ADODB.Recordset") ConnectDB sql = "SELECT * FROM ComputingNotesTable" rs.Open sql, oConn, adOpenDynamic, adLockOptimistic Do Until rs.EOF Range("A1").Select ActiveCell = rs.Fields("Headings") rs.MoveNext Loop rs.Close oConn.Close Set rs = Nothing End Sub</code>
比較のために、MySQL サーバーに正常に接続する PHP コードの例を次に示します。
<code class="php">$connect = mysql_connect("sql100.xtreemhost.com","xth_9595110","myPassword") or die(mysql_error()); mysql_select_db("myTable",$connect);</code>
これらの変更されたコードに従うと、 MySQL データベースへの接続を確立し、VBA を使用して Excel 内からそのデータを操作できるはずです。
以上がVBA コードが MySQL データベースに接続できないのはなぜですか? どのように修正すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。