MySQL ODBC 5.2 ANSI Driver を使用して Excel VBA アプリを MySQL データベースに接続していますが、これはうまく機能しています。接続を開き、次のサブルーチンを使用してデータベースにクエリを実行し、結果をワークシートの範囲に出力します。
Public Sub output_result(query As String, output As Range, Optional connection As connection)
If connection Is Nothing Then
Set connection = OpenConnection()
End If
Dim Result As ADODB.Recordset
' Load all the records from the database
Set Result = connection.execute(query)
' Insert them into the dedicated area
Call output.CopyFromRecordset(Result)
End Sub
このサブルーチンをさまざまなクエリで数回使用するプロジェクトがあり、動作しますが、結果の最初の列のみが出力されるクエリが 1 つあります。
これはいくつかの結合を含む長いクエリですが、クエリをコピーして phpmyadmin に直接貼り付けると、問題なく実行され、結果全体が表示されます。
最初の列しか得られない理由はありますか? 問題のクエリは、26 フィールドの約 15 行を取得します。