ユーザ用ツール

サイト用ツール


サイドバー

プログレス合同会社

広告

msaccess:recordcount

21.レコード数の取得

ADODB.Commandを使用してExecuteメソッドでRecordsetを作成したときに、RecordsetのRecordCountプロパティが-1になることがあります。

ADODB.CommandのExecuteメソッドではなく、ADODB.RecordsetのOpenメソッドではCursorTypeをadOpenKeysetまたはadOpenStaticにすればRecordCountプロパティでレコード数を取得することができます。
しかし、ADODB.CommandのExecuteメソッドではCursorTypeを指定できません。

そのようなときは、ADODB.CommandのActiveConnection.CursorLocationadUseClientを指定してみてみださい。

100%という訳ではありませんが、RecordsetのRecordCountプロパティにレコード数が入ります。

  Set adoCmd = New ADODB.Command 
  With adoCmd
    .ActiveConnection = CurrentProject.Connection
    .ActiveConnection.CursorLocation = adUseClient
    .CommandText = "SELECT * FROM ~;"
    Set rstData = .Execute(, Array(~)))
  End With
  MsgBox rstData.RecordCount
    :

msaccess/recordcount.txt · 最終更新: 2022/05/16 by プログレス合同会社