目次
テーブル内のレコード数を取得する
この記事では「テーブル内のレコード数を取得する」ために利用可能な GetNumberOfRecords というユーザー定義関数について紹介します。 この情報が読者のお役に立てば幸いです。
解決できること
Microsoft Access の中でここで紹介する GetNumberOfRecords をマクロの中で呼び出すと パラメータで指定された テーブル 内の レコード数 を簡単に取得できます。
読んでほしい方
こうした Microsoft Access VBA を使ったアプリケーションをこれから作ろうと思っている方。
GetNumberOfRecords 関数 の紹介
説明
Access 内のマクロの中で、特定テーブルのレコード数の有無によってその後の処理の実行を制御したいケースがよくあります。この GetNumberOfRecords 関数は戻り値としてパラメータで指定されたテーブルに含まれるレコード数を取得できるので、Access マクロの If アクションと組合わせて処理を制御することができます。
参照オブジェクト
この関数を利用するためにはこの関数の実行前に データベースツール > Visual Basic > ツール > 参照設定 の中で
- Microsoft Office 16.0 Access Database engine
- Microsoft ActiveX Data Objects 6.1 Library
にチェックを入れる必要があります。
利用例
Access の マクロ 定義例えば “M0030_Call_GetNumberOfRecords” の中で以下のように
すなわち
If GetNumberOfRecords("tableName")>0 Then
メッセージボックス ("FileNameList" にはレコードが含まれています,はい,なし)
If 文の最後
のように GetNumberOfRecordsを “tableName” というパラメータを付けて呼び出します。 ここに “tableName” はレコード数の有無を確認したいテーブルの名前です。
この “M0030_Call_GetNumberOfRecords” の中でデザインビューを閉じて この ”M0030_Call_GetNumberOfRecords” マクロをダブルクリックしてこのマクロを実行するとこの中で GetNumberOfRecordsが実行され指定されたテーブル内に含まれるレコード数を戻します。
引数
属性 | 意味 | |
---|---|---|
テーブル名 | 文字型 | レコード数を確認したいテーブルの名前を””で囲んだ文字列で関数のパラメータとして指定します。 |
戻り値
値 | 意味 |
---|---|
n | 入力パラメータで指定したテーブル内に含まれるレコード数 |
VBAコード
Function GetNumberOfRecords(table_name As String) As Integer
GetNumberOfRecords = DCount("*", table_name)
End Function
VBAコードの簡単な説明
行番号 | 説明 |
---|---|
1 | 関数名と関数の戻り値の型(Integer:整数型)、入力パラメータの名前、型(String:文字列型)を定義しています。 |
2 | この関数の戻り値として 組み込み関数 DCount を使いレコード数を設定します。 |