Accessには、引数にフィールド名、テーブル名、条件式を指定して、条件に合うレコードの集計を行う「定義域集計関数」があります。引数[条件式]は、基本的に「フィールド名」「演算子」「値」の3つを組み合わせて指定します。

例えば[単価]フィールドが1000に等しいレコードを集計したいときは、「"単価=1000"」という条件式を使います。その際、引数[条件式]の中の「1000」などの数値はそのまま記述しますが、[条件式]の中の日付は「#」、文字列は「'」で囲みます。

さらに、[条件式]全体を「"」で囲んでください。[条件式]の中の数値や日付、文字列の部分には、他のフィールドの値やテキストボックスの値を指定することも可能で、その場合はフィールド名やテキストボックス名を半角の「[ &演算子で連結します。

ここでは例として、テキストボックスに入力された日付に受注した受注金額の合計をDSum関数で求めます。条件式は「"受注日=#" &[条件日]& "#"」のようになります。

関数の解説

DSum (フィールド名, テーブル名またはクエリ名, 条件式

テーブル名またはクエリ名]の[フィールド名]で[条件式]を満たすフィールドの数値の合計を返す

引数[条件式]の記述例

入力例 意味
"単価>=1000"[単価]フィールドの値が1000以上
"分類='飲料'"[分類]フィールドの値が「飲料」
"分類=' "&
[テキストボックス] &" ' "
[分類]フィールドの値が[テキストボックス]の値
"受注日
=#2017/2/5#"
[受注日]フィールドの値が2017/2/5
"受注日=#"&
[テキストボックス]& "#"
[受注日]フィールドの値が[テキストボックス]の値