• 締切済み

条件抽出された1フィールドの複数レコードを複数フィールドの1レコードとして表示するには?

Accessで商品販売のデータベースを作っています。 商品マスターテーブルには、「商品名」「略称」「単価」「単位」・・・が入っており、 販売記録フォームに日付ごとで売上を入力するようになっています。 (サブフォーム(データシートビュー)に、商品を入力し、価格を表示します) ------------------ [得意先名] ------------------ [日付] ------------------ [商品名][数量][単位][単価][金額]  ・  ・  ・  ・ ----------------- これとは別に、売上一覧表を作成しようと思います。 これは、日付ごとに略称で商品名を表示し、一目で何が売れたか分かりやすくするものです。 ------------------------------ [得意先名] ------------------------------ [日付][略称1][略称2][略称3][略称4][略称5][略称6]・・・ ------------------------------ 1つの得意先で、1日の商品項目が10を超えることはありません。 どうしてもできないので、何かいい方法があれば教えてください。

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

その「売上一覧表」では、データの編集は行えなくてもよろしいですか? もしそれでよろしければ、今あるテーブルからクロス集計クエリを作成するのがよいのではないでしょうか。 手順としては以下のようになります(ウィザードを使用した場合):  ※「略称」ではなく「商品名」を表示する形です。「略称」で表示したい場合は別途クエリが必要※ 1)データベースウィンドウの「新規作成(N)」ボタンをクリック 2)「クエリの新規作成」ダイアログで、「クロス集計クエリ ウィザード」を選択 3)サブフォームのレコードソースとなっているテーブルを指定して、「次へ(N)」をクリック 4)行見出しとして使うフィールドに「日付」を指定して、「次へ(N)」をクリック 5)列見出しとして使うフィールドに「商品名」を指定して、「次へ(N)」をクリック 6)集計するフィールドに「数量」を、集計方法に「カウント」を指定して、「次へ(N)」をクリック 7)クエリ名を指定して、「完了(F)」をクリック

yanmar-z
質問者

お礼

カウントを指定してクロス集計すればよいのですか。 一度やってみます。 データの編集は全く必要ありません。

noname#14314
noname#14314
回答No.1

 販売記録テーブルのフィールドに、得意先と日付でブレイクする、1から始まる通し番号を追加できませんか? 即ち、 ------------------ [得意先名] ------------------ [日付] ------------------ 001 [商品名][数量][単位][単価][金額] 002  ・ 003  ・ 004  ・ 005  ・ -----------------  と、こんな感じで。得意先と日付でブレイクする、1から始まる通し番号のフィールドがあればできると思います。

yanmar-z
質問者

お礼

私もそう思うのですが、方法がわからないので、教えていただきたいのです。