テーブルやクエリに含まれる列(フィールド)で、指定した列に記録されている数値のうち最大のものを返します。Max関数に似ていますが、グループ化を併用せず利用でき、対象とするテーブルや行(レコード)も簡単に指定する(絞り込む)ことができるため扱いやすいというメリットがあります。
使用例
数学点数最大: DMax("数学点数","成績テーブル")
データシートビューです。数学の点数の最大値である91が得られています。
Max関数の場合、他の列のそれぞれの行を表示しながら最大値を表示するためにはサブクエリを使う必要がありましたが、DMax関数だと関数だけで実現できます。
上記テーブルに基づく実行結果の例をいくつか挙げてみます。
表記例 | 出力例 | 説明 |
---|---|---|
DMax("数学点数","成績テーブル") | 91 | |
DMax("英語点数","成績テーブル") | 88 | 指定した列の値にNullが含まれる場合は、数値のうち最大のものが返されます |
DMax(50,"成績テーブル") | 50 | 直接数値を指定した場合、全レコードにその値があるものとして求められた最大値が返されます。結果的に指定した値そのものが返されます |
DMax("数学点数","成績テーブル","受験番号>=3") | 91 | 集計の対象となるレコードの条件を指定することが出来ます |
DMax("英語点数","成績テーブル","受験番号>=3") | 88 |
書式
DMax(列名,レコードセット名[,条件])
列名はダブルクォーテーション(")で囲む必要があります。
レコードセットにはテーブルやレコードの名前をやはりダブルクォーテーションで囲って指定します。
条件は対象となるレコードを絞り込むためのものですが、省略できます。
備考
特にクエリでの使用において、グループ化を考慮する必要がなく、他のテーブルやクエリの値も容易に抽出できますので使い勝手がよいですが、レコード数が多い場合などは実行に時間がかかる場合があります。クエリで利用する場合、そのテーブルやクエリをクエリデザイン画面上に表示しなくとも値を取得することが出来ます。