指定されたレコードのセット (定義域) に含まれる値の合計を返します。Visual Basic、マクロ、クエリ式、または演算コントロールで使うことができます。
たとえば、クエリの演算フィールドの式に DSum 関数を指定して特定の期間の総売上高を計算したり、演算コントロールの式に DSum 関数を指定してある商品の現在までの総売上高を表示したりできます。
構文
DSum(expr, domain[, criteria])
DSum 関数には、次の引数があります。
| 引数 | 内容 |
|---|---|
| expr | 対象となる数値データが含まれているフィールドを表す文字列式、またはフィールドの値の計算を表す式です。テーブルのフィールド名、フォームのコントロール、定数、組み込み関数、およびユーザー定義関数が指定できます。ただし、ほかの定義域集計関数や SQL 集計関数は指定できません。 |
| domain | 定義域を構成するレコードを指定する文字列式です。テーブル名またはクエリ名が指定できます。 |
| criteria | この引数は省略可能です。演算対象となるデータの範囲を指定する文字列式です。たとえば、SQL 式の WHERE 句を指定できます (語 WHERE は省略します)。引数 criteria を省略すると、定義域全体に対して expr が適用されます。 |
解説
criteria に適合するレコードがないときや、domain にレコードが含まれないときは、DSum 関数は Null 値を返します。
DSum 関数をマクロ、モジュール、クエリ式、または演算コントロールのいずれで使用する場合も、正確な結果を得るために引数 criteria を慎重に設定してください。
DSum 関数を使って、クエリの [抽出条件] セル、クエリの演算フィールドの式、または更新クエリの [レコードの更新] 行に抽出条件を指定できます。
メモ 集計クエリの演算フィールドの式には、DSum または Sum 関数を使うことができます。DSum 関数ではデータをグループ化する前に値が計算され、Sum 関数ではデータをグループ化してから値が計算されます。
DSum 関数を使うと、基になるレコード ソースにないフィールドの値の合計をフォームやレポートに表示することができます。たとえば、特定の商品の情報を表示するフォームがある場合、演算コントロールで DSum 関数を使って、その商品の現在までの総売上高を表示することができます。
ヒント レポートで、コントロールの現在までの合計を表示する場合、そのコントロールの基になるフィールドがレポートのレコード ソースに含まれていれば、コントロールの "RunningSum/集計実行" プロパティを使うことができます。フォームでは DSum 関数を使って合計を表示してください。
メモ domain のレコードを変更しても、保存されていない値は DSum 関数の演算に反映されません。変更した値を使って計算する場合は、計算前に、[レコード] メニューの [レコードの保存] をクリックするか、フォーカスを別のレコードに移動するか、または Update メソッドを使って変更を保存する必要があります。