抽出

抽出されたレコード数をカウント

Sub 抽出2()
'抽出レコードをカウントする
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String

FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
'CursorLocation プロパティに adUseClient を設定
myRS.CursorLocation = adUseClient
myRS.Open "伝票一覧", myCon, adOpenForwardOnly, adLockOptimistic

'「得意先」が「小料理ひろ」のレコードのみ抽出して転記
myRS.Filter = "得意先 = '小料理ひろ'"
Debug.Print "得意先の該当レコード数" & myRS.RecordCount

'「受注日」が「2007年3月1日〜3月5日」のレコードのみ抽出して転記
myRS.Filter = "受注日 >= #2007/03/01# And 受注日 <= #2007/03/05#"
Debug.Print "受注日の該当レコード数" & myRS.RecordCount

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub

実行結果

RecordCount プロパティを使用する時は、Recordset オブジェクトを Open メソッドで開く前に、CursorLocation プロパティに「adUseClient」を設定すること。
RecordCount プロパティを設定しないと使用できない。
下図のように「-1」を返す。
並べ替えをする時の Sort プロパティも同様。

実行結果