Access。クエリ。すべてのフィールドを表示した条件付き最大値を手早くつくりたい。
<Access:DMax>
テーブルからクエリのグループをつかうことで、簡単に、該当するフィールドの最大値を算出することはできるのですが、該当するレコードの全フィールドを表示したい場合、クエリのグループ化では対応することができません。
やりたいことを確認しておきましょう。
店舗名が横浜店で売上高の最大値をすべてのフィールドで表示したいわけです。
次のテーブルがあります。
これをクエリの集計をつかうと、最大値を算出することができます。
ただし、グループ化するために、すべてのフィールドを使うことはできません。
結果、データシートビューで確認すると、店舗名別最大売上高のクエリができた状態です。
つくりたいクエリはこれではありません。
では、どのようにしたら、次のようなクエリをつくることができるのでしょうか
今回は、抽出条件にDMax関数をつかうことで、問題は解決します。
クエリデザインで、「T文房具売上」の全てのフィールドをつかって、クエリのフィールドを設定します。
そして、売上高フィールドの抽出条件にDMax関数をつかった設定を入力します。
DMax("売上高","T文房具売上","店舗名='横浜'")
なお、画面の都合上、画像は、売上高フィールドのみを表示していますが、左側に、NO・店舗名・商品名のフィールドを設定しております。
これで、横浜店で売上高の最大値のデータをすべてのフィールドで表示することができます。
DMax関数の引数は、
DMax(フィールド名,テーブル名,条件)です。
この数式のポイントは、「"店舗名='横浜'"」の条件です。
「”(ダブルコーテーション)」で条件全体を囲う必要があるのですが、条件の横浜には、「’(シングルコーテーション)」で囲う必要があります。
「’(シングルコーテーション)」を「”(ダブルコーテーション)」に間違えてしまうと、エラーが表示されますので、入力する時に注意が必要です。