Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

DAOを用いてテーブルのレコード件数を求める方法 : VBAのTips解説



RecordCountプロパティ

RecordCountプロパティとは、RecordsetオブジェクトやTableDefオブジェクトでアクセスされたレコード数を返すプロパティです。このプロパティは、DAO、ADOともに使用できます。DAOのダイナセットタイプ、スナップショットタイプ、前方スクロールタイプの場合、より正確にレコード数を求める場合は、MoveLastメソッドを用いて強制的に最後のレコードにアクセスする必要があります。 なお、多数のレコードに対して使用すると、パフォーマンスの低下を招く恐れがあります。

  • 書式
recordset.RecordCount
  • 引数
引数 意味 指定
Recordset 開いているRecordsetオブジェクト変数を指定します 省略不可

関連項目

  1. OpenRecordsetメソッド(DAO)
  2. MoveLastメソッド(DAO)
  3. Openメソッド(ADO)

事例 ) DAOを用いて全テーブルのレコード件数を求める

DAOを用いて全テーブルのレコード件数を求めます。

  1. 非連結フォームを作成します。
  2. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   Dim db As DAO.Database
   Dim rs As DAO.Recordset
   Dim tdf As TableDef
   Dim strTbl As String
   Dim strName As String
   Dim strMsg As String

   Set db = CurrentDb

   For Each tdf In db.TableDefs '--- A
      If (tdf.Attributes And dbSystemObject) = 0 Then '--- B
         strTbl = tdf.Name
         Set rs = db.OpenRecordset(strTbl, dbOpenTable)
         strName = strTbl & " のレコード件数は、" & rs.RecordCount & " 件です。"
         strMsg = strMsg & vbNewLine & "◇" & strName
      End If
   Next

   MsgBox strMsg

   rs.Close: Set rs = Nothing
   db.Close: Set db = Nothing

End Sub
解説
  1. For Each...Next ステートメントを用いて、全てのテーブル名を求めます。
  2. AttributesプロパティのdbSystemObject定数を用いて、システムオブジェクトテーブルを除外します。

動作確認

  1. フォームをビューモードで開きます。
  2. [実行]ボタンをクリックします。

  1. 全テーブルのレコード件数がメッセージボックスに表示されます。

ページの先頭へ 前ページへ戻る


DAOを用いてテーブルのレコード件数を求める方法 : VBAのTips解説


 

-Microsoft Access Club-

PLESKやcPanelを思いのまま、ヨーロッパのフランス、ドイツ等の大手データセンターに配置しています。。
PLESKパネルやcPanelパネルを思いのまま..
ヨーロッパ大手データセンターを利用できます。