アクセス集計のクエリ方法について

このQ&Aのポイント
  • アクセスの集計機能を使用して品名毎の数量の合計と金額の合計を算出する方法について教えてください。
  • 注文テーブルには品名に数量が掛けられている場合もあり、現在のクエリ設定では正しい数量の合計と金額の合計を出すことができません。
  • テーブルの設計とリレーションを明記した上で、正しい集計方法をご教授いただけないでしょうか。
回答を見る
  • ベストアンサー

アクセス クエリ・集計・計算方法について

アクセスの集計機能を使用して、品名毎の数量の合計と金額の合計を算出しようとしていますが、 思うようにできません。どなたか教えてください。 クエリのフィールドを左から・・・ (1)年月: Format([日付],"yyyy/mm")(集計:グループ化) (2)品名(集計:グループ化) (3)品名のカウント(集計機能:カウント) (4)単価(集計:グループ化) (5)金額: [単価]*[品名のカウント](集計:グループ化) このような形でクエリを実行していますが、すべての注文が1つだけなら問題ないのですが、実際には品名には数量が掛けられている場合もあり、現在設定しているクエリ設定では正しい数量の合計と金額の合計を出すことができません。どうか集計方法をご教授いただけないでしょうか。よろしくお願いします。 ■現在のテーブルの設計とリレーションを明記します。 【A】顧客テーブル (1)顧客ID (2)発注コード (3)氏名 【B】商品テーブル (1)商品ID (2)品名 (3)単価 【C】注文テーブル (1)注文ID (2)日付 (3)顧客ID 【D】注文明細テーブル (1)注文明細ID (2)注文ID (3)商品ID (4)数量 リレーション 【A】(1)-【C】(3) 【B】(1)-【D】(3) 【C】(1)-【D】(2)

質問者が選んだベストアンサー

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

> (3)品名のカウント(集計機能:カウント) これを「数量の合計」に > (5)金額: (集計:グループ化) これを「[単価]*[数量の合計]」に それぞれ変えるとどうなりますか?

kujira_444
質問者

お礼

ご連絡遅くなりました。回答通りにおこなったらできました。ありがとうございました!

その他の回答 (1)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

リレーショナルデータデータベースは始められたばかりですね フィールド名は全てありますが、テーブルとの組み合わせがダメです。 1.テーブルには顧客テーブル、商品テーブルのように使い回しするものと   注文テーブル、注文明細テーブルのようにどんどん追加するものがあります。   一般的には前者をマスターテーブル、後者をトランザクションテーブルと呼びますが   自分は前者をマスター、後者をデータとしています。   また 注文と注文明細のような主従関係にあるものは、ナビゲーションリストに   順に表示されるように注文データに対し注文データ明細としています。 2.各テーブルの主キーはIDとしオートナンバー型にします。   ※氏名、顧客コード、商品コード等も主キーにできますが修正が出来ない、    重複が許されない等でこれは避けます。    顧客コード、商品コードのように重複してはならないものは    フィールドのプロパティーで重複なしに設定できます。    【ナビゲーションウィンドウ内の顧客マスターを右クリック】⇒【デザインビュー】    ⇒【氏名コード】⇒【数値型】⇒【フィールドプロパティー内のインデックスの右端】    ⇒【重複なし】   ※主キーをオートナンバー型にすると自動採番になり、クエリー、フォーム、レポート    で省略してアクセスに、おまかせにします。 3.以上を踏まえて、定義したのを添付します。 以上ご理解いただいてテーブル設計を変更なさるなら補足下さい。 クエリー、計算方法、集計(年月グループ抽出、品名別)は それぞれに、それなりの説明が要ります。新しく個別にQして下さい。 追伸 テーブル設計を丁寧にされると後の展開が楽になります。 フィールドのプロパティには色々な属性を定義できます。  IME入力モード、IME変換モード、ふりがな、郵便番号入力支援、  ルックアップ機能:これは大変有用です。   注文テーブル顧客IDのフィールドにルックアップから表示コントロールに   顧客マスターのコンボボックスを定義すると氏名で表示できます。

kujira_444
質問者

お礼

ご回答ありがとうございます。基本的なテーブル設計の考え方、コード化、紐づけについての確認ができました。ありがとうございます。

関連するQ&A

  • 各グループごとの集計結果をクエリで求めたい

    Access2003のクエリについてです。 (1)のようなテーブルに対してして(2)のような結果を出したいのですが、集計結果の全レコードに対して、各該当するグループごとの集計結果がうまく計算できません。 [都道府県別合計],[商品ID別合計],[月度別合計]は一つのクエリの中で求められるものなのか、サブクエリで先に求めるものかどういう方法をとるのがいいのでしょうか? (1) 都道府県, 商品ID, 日付, 数量, 単価 (2) 都道府県, 商品ID, 月度:Format(日付,"yyyy/mm"), [都道府県別合計], [商品ID別合計], [月度別合計] (グループ化), (グループ化), (グループ化)

  • ACCESS 選択クエリの集計について

    そもそもテーブルの作り方が悪かったと言えるのですが、是非お知恵をお借りしたく投稿しました。 売上テーブル  売上ID 日付 得意先 売上A種テーブル 売上A種ID 売上IDNo 品目 数量 単価 合計  売上B種テーブル 売上B種ID 売上IDNo 品目 数量 単価 合計  売上C種テーブル 売上C種ID 売上IDNo 品目 数量 単価 合計  売上テーブルにメインの情報を入力し、売上A種テーブル、売上B種テーブル、売上C種テーブルに詳細情報を入力できるように売上IDと売上IDNoでリレーションシップを作成しました。 選択クエリでその日の各種の売上を集計したいのですが、必ずその日の得意先の売上の中に売上A種、売上B種、売上C種が含まれているわけではないので、選択クエリで 売上ID-グループ化 日付-グループ化 得意先-グループ化 売上A種合計-合計 売上B種合計-合計 売上C種合計-合計 とした場合、A種、B種、C種すべてに入力がなければ拾ってくれません。 入力の無いもの(売上IDNoのないもの)は0で、あるものはその合計を集計させるにはどのようにしたらよいでしょうか? 何卒、よろしくお願い申し上げます。

  • クエリで試験結果を個人ごとに集計したいのに??

    クエリで試験結果を個人ごとに集計したいのに?? Accessド素人です。例えば、商品別に売上金額の集計をしようとした場合、クエリで、「Σ」を押し、売上の合計欄を「グループ化」から「▼」から「合計」にすると商品ごとに集計が出る、と、思っています。 150人分の生徒の過去5回分の試験結果を集計したいのです。テーブルは「生徒マスター」「試験結果累積テーブル」ほかです。リレーションはうまくいってると思っています。 「Σ」ボタンを押して、試験の合計点数の「グループ化」を「合計」にして、「実行」したのですが、結局、個人ごとに集計できていないのです。何が間違っているのでしょうか? もしかして、大きな勘違いをしているのかも? とても心配です。どうか、よろしくお願いいたします。

  • Access クエリ このレコードセットは・・・

    いつもお世話になります。 Accessで下記の様にクエリを作成しましたが、”このレコードセットは更新できません”と出てしまいます。 ■テーブル1  ・顧客ID(主キー)  ・顧客名  ・住所  ・TEL ■テーブル2  ・顧客ID  ・取引ID(主キー)  ・請求金額 ■クエリ1(集計クエリ)  ・顧客ID グループ  ・請求金額合計: Sum(請求金額) 合計 ■クエリ2(実際に使用するクエリ)  ・顧客ID(テーブル1)  ・顧客名(テーブル1)  ・住所(テーブル1)  ・TEL(テーブル1)  ・請求金額合計(クエリ1) このクエリ2を開いて更新しようとしても、”このレコードセットは更新できません”と左下に表示されて更新できません。 ・請求金額合計(クエリ1)を除けば問題なく更新できます。 ですが1顧客に対して通算で幾ら請求をしたかとその顧客のデータを同一クエリで表示・更新したいので、意味をなさなくなってしまいます。 どなかた良い方法をご教授下さいませ。

  • Accessのクエリによる集計が出来ない

    Accessのクエリによる集計が出来ない kamuycikapです。 OKWaveで様々な方のアドバイスを頂きながら、慣れないAccessと悪戦苦闘しております。 一昨日、計算したい表を作成する為にOKWaveに質問を載せました。 http://okwave.jp/qa/q5549286.html 無事に上記のアドバイスでリレーションのオプション設定を行い、集計計算したいクエリの結果を表示することが出来ました。 その表を元にして 下記の質問でアドバイス頂いた方法による集計を行おうとしたのですが、集計出来なくて困っています。 http://okwave.jp/qa/q5544785.html データベースの構成とキーは以下のとおりです。 --ここから <データベース構造:リレーションシップ> リレーションシップとテーブルの構成は下記の通りです。 -->がリレーションシップです。 Kがキーになります。 ■テーブルA      ■テーブルB    ■テーブルC    ■テーブルD K納品書コード --> K納品書コード --> K納品書コード  --> K納品書コード 仕入数          K商品コード  --> K商品コード   --> K商品コード                             K商品連番    --> K商品連番                             出品数量        K出品連番                             商品名           発送個数                             色             発送日付                             サイズ                             売値 ※テーブルCからテーブルDへのリレーションオプションを「’テーブルC’の全レコードと’テーブルD’の同じ 結合フィールドのレコードだけを含める。」としています。 <作りたいデータ> 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量、発送個数、出品在庫数、倉庫在庫 <クエリ> ○グループ  納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量 ○合計(集計)  発送個数 ○出品在庫数(演算)  [出品数量]-[発送個数] ○倉庫在庫(演算)  [仕入数]-[発送個数] <データ状況> テーブルCのデータは約300レコードありますが、そのうち20件ほどしか商品が発送されていない為、テーブルDのデータは20件しかありません。 <望む結果> テーブルCのデータが全て表示され、紐つけられたテーブルDのデータがが存在する場合は、発送個数を表示し出品在個数を演算する。 演算した出品在個数を利用して、倉庫在庫も演算する。 <クエリの実行結果> テーブルCのデータが全て表示され、テーブルDに紐つけられたレコードも表示されるが、テーブルDに入力されている20件のデータが商品連番(テーブルCのフィールド)ごとに集計されない。 --ここまで <目的> お店に出品された商品は、日を分けて少しずつ売れていきます。(一日で全部売れることもありますが....) 従って、出品された商品(テーブルCのデータ)に対して売れていく数(テーブルDの複数のレコード)のデータがぶら下がっている形になります。 このようなデータベースですので、出品した商品が何個売れたかを計算する為には、商品に対する売れた個数を集計(合計)しなければなりません。 <結果> テーブルCの商品連番ごとの発送個数を集計したいのですが、テーブルDの出品連番ごとの集計になっている様子です。 <頂きたいアドバイス> 上記のデータベースとクエリで、テーブルCの商品連番に紐ついたテーブルDに格納されている発送個数の合計値を集計するための方法 以上、識者の方のアドバイスをお願い致します。

  • アクセス2000 複数のテーブルに同じクエリの処理をかけたい

    いつもお世話になります。 アクセスに"DB1"~"DB20"までの20コのテーブルがあり、レイアウトは全て同じです。 "店名" "アイテム数" "数量" "金額 "・・・ "グループ化" "カウント" "合計" "合計"・・・ それを上記のクエリで集計して、"集計1"~"集計20"のテーブルを作りたいのですが、現在はDB1が終わったらDB2を表示させて1項目ずつテーブル名を変えてDB1を消してクエリ実行・・・と行っています。 ミスも結構あります。 マクロか何かで出来るのならと思い、ご質問させていただきました。 以上宜しくお願い致します。

  • Accessのクエリでの集計

    来店を把握する為にAccessで作成し、日々使っています。 クエリで月別の来店数を合計をしたいのですが、いろいろ試みても解りません。また、「アンケート」及び「アポ」をもらったか否かを○・×で記入しています。その○の月合計も集計したいのです。 テーブルは、「顧客」「来店情報」とをでリレーション付けています。 顧客テーブルには、顧客名 住所 電話 etc 来店情報テーブルには 来店日 情報 アンケート アポ etc などのフィールドがあります。 月単位の 来店客数 アンケートの○数 アポの○数を 出したいのです。どなたか、方法を教えて下さい。

  • ACCESSのテーブル設計とクエリ

    ACCESS初心者です。 ACCESS2010 OSはWindows7です。 パソコンはアクセスとエクセルマクロの入門書を読み終えたレベルです。 只今、注文実績管理表を作成するために、必要な情報を複数のテーブルに 分解してコード化していますが、関連付けできない為にデーターの参照ができません。 対応方法があれば教えていただくようお願いします。 どうしても実現したいので、テーブルの設計が間違えているかもしれませんが写真を掲載します。 ■現在の状況と質問 A)商品だけで300アイテムあります。リストを見ながら商品名と金額を入力するのは、膨大な時間を奪われるので、発注書に書かれている。4ケタの商品番号と注文数量の入力のみに したい。その後に入力した4ケタの数字でデーターを集計し、分析業務につなげていきたい B)【C】と【D】は注文書のイメージです。ひとり最大50個の商品を一枚の注文書で 発注します(ひとりの注文が1か月に1~3回)。一回の注文で最大、50品目のデーターを 格納することは、アクセスで可能なのでしょうか? C)発注実績の抽出ですが、以下内容で実行したいです。どうすれば可能でしょうか?   テーブルの設計と関連付け、リレーションの設定がわかりません。   i)個人別の1か月注文実績。商品名、注文合計数、合計金額を商品別に表示   ii)個人別の注文合計金額(月、年間)の集計。   iii)商品Aの注文実績(月、年間) D)リレーションの状態。 【A】の(2)と【C】の(2)  【B】の(2)と【D】の(3)、(5)、(7)、(9)、(11)、(13)、(15)、(17)、(19)・・・ 【C】の(1)と【D】の(2)のみ参照整合性がとれています。 E)商品テーブルのドリルボタンを押して、下の階層を見ようとすると、画像のような メッセージがでます。これはなんなのでしょうか? ■現在の状況を列挙します。 【A】顧客テーブル (1)顧客ID(オートナンバー・・・長整数型) 主キー(2)発注コード(テキスト型)         ※発注コードは『英数字』のためテキスト型。リンク先も『テキスト型』 (3)氏名(テキスト型) 【B】商品テーブル (1)商品ID(オートナンバー・・・長整数型) 主キー(2)注文番号(数値型・・・倍精度浮動小数点型) (3)品名(テキスト型) (4)金額(通貨型) 【C】注文テーブル 主キー(1)注文ID(オートナンバー・・・長整数型)    (2)日付 (3)発注コード(テキスト型)        ※発注コードは『英数字』のためテキスト型。リンク元も『テキスト型』 【D】注文明細テーブル(注文番号は全て4ケタの数字です。重複Noはありません) 主キー(1)注文明細ID(オートナンバー型・・・長整数型) (2)注文ID(長整数型) (3)注文番号1(数値型・・・長整数型) (4)数量(注文番号1) (5)注文番号2 (6)数量(注文番号2) (7)注文番号3 (8)数量(注文番号3) (9)注文番号4 (10)数量(注文番号4) ・ ・ ・※注文番号50まで続く・・・

  • ACCESS 合計の計算方法

    入力して作成したマスターから グループ、数量、単価、入力日付ごとにデータを 抜きすクエリーを作成したのですが 最終的にだすレポートに 数量×単価の合計金額をグループと日付別に出そうと考えています。合計の出し方がよくわかりませんので 教えいていただきたいです

  • Accessの集計クエリで0カウント集計させない

    Accessの集計クエリで顧客のカルテ番号データからカウント集計クエリで一日の人数を表示しているのですが、 来店客が0の時(0)と入力してもカウント集計クエリでは1とカウントされてしまいます、 どうすれば来店客が0の時(0)と入力してもカウントされなくなるでしょうか

専門家に質問してみよう