#121 | レコードセットを使わずにレコード数を取得する方法 | VBA | |
テーブルなどのレコード数を求めるには、いくつかの方法があります。VBAの一連のプログラムの中で、DatabaseオブジェクトやRecordsetオブジェクトを使ってデータ操作する場合には、RecordsetオブジェクトのRecordCountプロパティから取得することができますので、それを使えばよいでしょう。 しかし、あるテーブルのレコード数をチェックして、それが一定条件以上であれば、いくつかのアクションクエリーを連続して実行するだけといった処理では、わざわざDatabaseオブジェクトやRecordsetオブジェクトを宣言したり、生成したりするのは面倒です。 そのような場合、定義域集計関数の1つである「DCount関数」を使うことができます。この関数の最初の引数に "*" を指定することによって、そのテーブルの全レコードの数を取得することができます。もちろん、3つめの引数にWhere条件を追加すれば、それに対応したレコード数を求めることもできます。 商品区分テーブルの全レコード数を調べる場合 Debug.Print DCount("*", "商品区分")
分類=1であるレコード数を調べる場合
Debug.Print DCount("*", "商品区分", "分類=1")
もし、主キーフィールドが"区分コード"である場合、 Debug.Print DCount("区分コード", "商品区分")
のような記述でも同じことができますが、"*"を使えば、わざわざフィールド名を調べる手間が要りません。 |
|||
|
Copyright © T'sWare All rights reserved |