Option Compare Database
Option Explicit
Const cnString = "Driver={MySQL ODBC 5.1 Driver};" & _
"server=mySQLServer;" & _
"port=3306;" & _
"database=test;" & _
"uid=testuser;" & _
"pwd=password;"
Sub test()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open cnString
rs.CursorLocation = adUseClient
rs.Open "select * from test_table;", cn
Debug.Print "rs.RecordCount", rs.RecordCount, TypeName(rs.RecordCount)
rs.Close: cn.Close
Set rs = Nothing: Set cn = Nothing
End Sub
このコード実行結果:rs.RecordCount 31 LongLongrecordcountにはLongLongで値が戻る。
なので、格納先はLongPtrを使用/Longにキャスト/Variantで受けてDecimal。
64bit環境のみならばLongLong使用可。
<追記>
Win7SP1時点で、ADOに修正が入る。修正以降は、LongLongが戻らず、Longで戻る模様。
0 件のコメント:
コメントを投稿