Chapter5-10 定義域集計関数

「定義域集計関数」は、特定のテーブルやクエリから統計的な情報を取得するための関数群です。集計クエリのような機能をVBAから簡易的に使うための関数と考えられます。
一般の関数としてクエリの演算フィールドなどからも呼び出すことができますが、VBAのオブジェクト階層においては、Applicationオブジェクトのメソッドとなっています。

定義域集計関数の構文



※Exprでは、レコード数を求めるような場合は、データの重複しない主キーなどのフィールドを指定します。
※返り値については、もし該当するデータが見つからない場合はNullが返されます。これを利用して、Where条件に一致するレコードがあるかないかを1行のコードで確認することもできます。



■定義域集計関数の種類
メソッド 返り値
DAvg 平均値
DCount レコード数
DFirst 先頭
DLast 最後
DLookup 定義域に含まれるフィールドの値
DMax 最大値
DMin 最小値
DstDev 定義域を母集団の標本とする標準偏差の概算値
DstDevP 定義域を母集団とする標準偏差の概算値
DSum 合計値
DVar 定義域を母集団の標本とする分散の概算値
DVarP 定義域を母集団とする分散の概算値


■定義域集計関数の使用例
次のプログラムは、すべて「tbl書籍情報」テーブルからさまざまな情報を取得する例です。
'先頭レコードのタイトルを取得します
Debug.Print DFirst("タイトル", "tbl書籍情報")

'価格が3000円以上の最初のレコードのタイトルを取得します
Debug.Print DFirst("タイトル", "tbl書籍情報", "価格 >= 3000")

'価格が3000円以上の最後のレコードのタイトルを取得します
Debug.Print DLast("タイトル", "tbl書籍情報", "価格 >= 3000")

'全レコード数を取得します
Debug.Print DCount("ISBN", "tbl書籍情報")

'タイトルに"入門"を含むレコード数を取得します
Debug.Print DCount("ISBN", "tbl書籍情報", "タイトル Like '*入門*'")

'もっとも高い価格を取得します
Debug.Print DMax("価格", "tbl書籍情報")

'もっとも安い価格を取得します
Debug.Print DMin("価格", "tbl書籍情報")

'タイトルに"Excel"を含むもっとも安い価格を取得します
Debug.Print DMin("価格", "tbl書籍情報", "タイトル Like '*Excel*'")

'価格の合計を取得します
Debug.Print DSum("価格", "tbl書籍情報")

'価格の平均を取得します
Debug.Print DAvg("価格", "tbl書籍情報")

'発行日が2008/06/01以降の価格の平均を取得します
Debug.Print DAvg("価格", "tbl書籍情報", "発行日 >= #2008/06/01#")
| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved