質問: ### 前提・実現したいこと こんにちは、質問タイトルが適格でないかもしれませんが宜しくお願いいたします。 通販事業をしており、商品の仕入から販売までのデータベースをACCESSの勉強をしながら作っております。 質問に際して必要なテーブル構成を抜粋しますと。 【t_商品】 ・ID ・商品名 ・サイズ ・色等 【t_仕入】 ・ID ・仕入日 ・仕入先 ・仕入総額 【t_仕入詳細】 ・ID ・仕入ID ・商品名(商品ID ・仕入単価 ・仕入数 各テーブルにはもう少しフィールド数がございますが、とりあえず上記のような構成です。 商品登録フォームや、仕入処理のフォームは作り、データの登録、更新、表示も問題なく動作しております。 今回仕入一覧フォームを作成し、仕入データの一覧表示をさせたいと思っております。 もちろん、一度の仕入れ業務で複数の種類の商品を仕入れた場合は、一つの「t_仕入」レコードには仕入IDをもとに、複数の「t_仕入詳細」のレコードがぶら下がることになりますので、普通に「f_仕入一覧」フォームを作ってレコードソースを設定していくと以下のようなリストになるかと思います。。 |仕入ID|仕入詳細ID|仕入日|商品名|・・・・ |1|1|2017/01/01|パソコン| |1|2|2017/01/01|キーボード| |1|3|2017/01/01|プリンター| |1|4|2017/01/01|キーボード| |2|5|2017/01/04|液晶テレビ| |3|6|2017/01/05|電気ケトル| |4|7|2017/01/06|電子レンジ| |4|8|2017/01/06|キーボード| |5|9|2017/01/07|デスクライト| 現状このような表示では一覧表示できています。 それを以下のような一覧に変更ししたいのですが、うまくいかず今回質問させていただきました。 希望する一覧 |仕入ID|仕入詳細ID|仕入日|商品名|・・・・ |1|1|2017/01/01|パソコン| |2|5|2017/01/04|液晶テレビ| |3|6|2017/01/05|電気ケトル| |4|7|2017/01/06|電子レンジ| |5|9|2017/01/07|デスクライト| 表示内容は、一つの仕入IDに対して表示するのは一件だけ(仕入詳細IDが一番小さいもの)。 ゆくゆくは |仕入ID|仕入詳細ID|仕入日|商品名|備考|・・・・ |1|1|2017/01/01|パソコン|その他3商品| |2|5|2017/01/04|液晶テレビ|| |3|6|2017/01/05|電気ケトル|| |4|7|2017/01/06|電子レンジ|その他1商品| |5|9|2017/01/07|デスクライト|| このような一覧リストを作ろうと思っております。 ### 試したこと 一覧フォームのデザインビューでクエリの種類をクロス集計等にして、集計欄を |仕入ID|仕入詳細ID|仕入日|商品名|・・・・ |グループ化|最小|グループ化|グループ化|・・・・ などとやってみたのですが、上記の最初のリストになってしまいます。 質問するにあたり説明不足なところがあるかもしれませんがよろしくお願いいたします。
回答: ※仕入詳細のIDがユニーク、という前提で進めます。 入力テーブル 仕入 !イメージ説明 仕入詳細 !イメージ説明 1仕入IDでグループ化し、最小の仕入詳細IDを取得するクエリを作成する。 !クエリ 結果(仕入詳細のIDの最小が取得されています。) !結果 2このクエリと仕入詳細及び商品を結合して、新たなクエリを作る !イメージ説明 結果 !イメージ説明 この様な形で如何でしょうか?