- ベストアンサー
アクセスのクエリについて
アクセスのクエリにおいて 店コード、店名 変更日付 備考 1 A店 2004/1/1 2 B店 2004/2/1 3 C店 2004/5/1 1 A店 2005/12/17 2 B店 2005/11/1 3 C店 2005/10/1 上記のようなクエリで店名A店B店C店それぞれの最新の日付を抽出したいのですがわかりません。 ご回答よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1のmshr1962です。 >実際は数値が入力されます。のでグループ化されませんでした。 数値はどのようなものでしょうか?同じ値しかないなら「グループ化」でできるはずです。 それ以外だと 一番大きいものなら「最大値」、一番小さいものなら「最小値」、合計するなら「合計」 入力順で始めに保存したレコードなら「先頭」、最後に保存したレコードなら「最後」 にしてみてください。
その他の回答 (3)
- hisappy
- ベストアンサー率46% (184/392)
アクセスのクエリを多段で使用しても良い。 場合によってはVBAも使用可。 使用するデータ情報は質問文にあるもののみを前提とする。 店コードと店名は互いに対応する。 という前提のもとで、実現の可能性のある方法を回答します。 1つ目のクエリで、 group byを「店コード」で、 order byを「店コード」の昇順(asc)でデータ抽出。 抽出するデータは店コードのみで可。 この時、このクエリで抽出される店コードに同じ値は存在しないはず。 ・・・である事を確認しておく事。 2つ目のクエリで、 where句を「店コード」と「1つ目のクエリで抽出した店コード」、 order byを「変更日付」の降順(dec)、 抽出するデータ指定は必要な項目と「max(変更日付)」を指定。 もしかしたらここでもgroup byを「店コード」が必要かも。。。 これで「1つ目のクエリ」で並べた店コードに対応する 最新の日付が取り出せるはずです。 このようにクエリを二段咬ませたら おそらく期待されるデータが抽出されてくると思われます。
クエリにおいて、 A店の最新を求める場合、店コードのところを抽出条件として「1」を、日付のところの並べ替えの条件を「降順」として、クエリを実行すると、一番上に最新の日付のものが示されます。 異なる店の場合はそれに応じて店コードの抽出条件を指定してあとは同じことをすればよいわけです。
- mshr1962
- ベストアンサー率39% (7417/18945)
クエリで店コード、店名、変更日付を選択 「表示」「集計」にすると集計欄が追加されて「グループ化」になるので 変更日付のところを「最大値」に変更して保存する。 クエリを実行すると店コード、店名、変更日付の最大値が表示される。
補足
すみません。ひとつ抜けがありました。最後のフィールドを備考としておりましたが、実際は数値が入力されます。のでグループ化されませんでした。すみません。よろしくお願い致します。