トップ > スキル : アプリケーション > VBA for Access > 応用編(組み込み関数)

VBA_Access

定義域集計関数

データベースのデータを使って、集計ができる関数を紹介します。定義域集計関数には、次のような引数があり、定義域のレコードが変更されても、保存されていない値は関数の演算に反映されません。

演算対象:
対象となる数値データが含まれているフィールド名を指定。フィールド名、コントロール名になります。
定義域:
定義域を構成するレコードを指定。テーブル名やクエリ名になります。
演算対象条件:
定義域全体に対して演算対象が適用される。演算対象となるデータの範囲を指定する文字列、またはSQLのWHERE句を指定します。省略可能です。

DSum関数

指定されたレコードのセットに含まれる値の合計を返します。

DSum関数

【書式】 DSum(演算対象,定義域[,演算対象条件])

演算対象条件に適合するレコードがない時、または定義域にレコードが含まれない時は、Null値を返します。

DMテーブルのDM_IDの数値をすべて合計する場合は、次のように記述します。

(例)
  Sub dsum_kansuu()
  	MsgBox DSum("DM_ID", "DMテーブル")
  End Sub
    

DMax関数

指定したフィールドの最高値を返します。

DMax関数

【書式】 DMax(演算対象,定義域[,演算対象条件])

現在のDMテーブル内のDM_IDが何番まで振られているかを確認するには、以下のような記述を行います。

(例)
  Sub dmax_kansuu()
  	MsgBox DMax("DM_ID", "DMテーブル")
  End Sub
    

DM_IDの最大値がメッセージとなり表示されます。

DLookup関数

指定したテーブルのフィールドを検索して、そのフィールドの値を返します。複数の値が見つかった場合は、最初の値を返します。

DLookup関数

【書式】 DLookup(演算対象,定義域[,演算対象条件])

DM_IDが「2」のDM題名を表示する場合は、以下のように記述します。

(例)
  Sub dlookup_kansuu()
  	Dim box As String
  	box = DLookup("DM題名", "DMテーブル", "DM_ID=CStr(2)")
  	MsgBox box
  End Sub
    

DM_IDが2のDM題名がメッセージとして表示されます。この場合、DM_IDはテキスト型となっているので、「2」という数値を文字列型(CStr(2))にする必要があります。

定義域集計関数のその他の関数

関数名 説明
DAvg 指定したフィールドの平均を返す
DCount レコード数を返す
DFirst 指定したフィールドの先頭データを返す
DLast 指定したフィールドの最終データを返す
DMin 指定したフィールドの最小値を返す