VBA を使用して MySQL データベースにクエリを実行しています。これには、私が稼働しているODBCドライバーの使用が含まれます。
クエリの結果を VBA 多次元配列で返したいと考えています。(フィールドの列、レコードの行)
.RecordCount
VBA の ODBC MySQL ドライバーには、成功時にプロパティが実際のレコード数ではなく -1 と評価されるという既知の問題があります。.EOF
これは、ループしてレコードを抽出する前に、配列のサイズを変更するために使用できないことを意味します。
私はこれを試しました:
If Rs.RecordCount <> 0 Then //Just check if it's not false as recordcount is not fully functional
Fields = Rs.Fields.Count //This actually works
rw = 1
Dim result()
Do Until Rs.EOF
ReDim Preserve result(1 To rw, 1 To Fields)
C = 1
For Each MyField In Rs.Fields
result(rw, C) = MyField
C = C + 1
Next MyField
Rs.MoveNext
rw = rw + 1
Loop
get_result = result //Output the result
End if
しかし、エラー 9: 下付き文字が範囲外です。これは私を夢中にさせています。phpではこれは些細なことですが、何らかの理由でVBAではこれを理解できません。何か案は?