Recordsetの件数を取得する

ADOのRecordCountプロパティ(Recordsetの件数を返す)って
CursorTypeがadOpenForwardOnly(=0)だと、-1が返される(仕様)ので
CursorTypeをadOpenStatic(=3)でRecordsetを取得する事。

strSQL = "select * from hoge;"
Set cn = CreateObject("ADODB.Connection")
cn.Open strHoge '接続文字列
Set rs = CreateObject("ADODB.Recordset")
'第4引数は、LockType。1の場合、読取専用。selectなんかだと、1で全然OK。
rs.Open strSQL, cn, 3, 1
If Not (rs.BOF And rs.EOF) Then
    MsgBox rs.RecordCount
End If