
Accessのクエリによる集計が出来ない
kamuycikapです。
OKWaveで様々な方のアドバイスを頂きながら、慣れないAccessと悪戦苦闘しております。
一昨日、計算したい表を作成する為にOKWaveに質問を載せました。
http://oshiete.goo.ne.jp/qa/5549286.html
無事に上記のアドバイスでリレーションのオプション設定を行い、集計計算したいクエリの結果を表示することが出来ました。
その表を元にして
下記の質問でアドバイス頂いた方法による集計を行おうとしたのですが、集計出来なくて困っています。
http://oshiete.goo.ne.jp/qa/5544785.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に格納されている発送個数の合計値を集計するための方法
以上、識者の方のアドバイスをお願い致します。
No.1ベストアンサー
- 回答日時:
すみません、引用された質問
http://okwave.jp/qa/q5549286.html
の回答者です。
そちらへの回答を作成していたんですが、間に合いませんでした(汗)
> 教えていただいた方法は、合計集計できないのでしょうか??
すみません、質問文の
> 現状では、テーブルDのデータしかテーブルCのレコードが表示されません。。。。
から、演算フィールド部分は作成済みと思い込みました(汗)
演算フィールドについても、「テーブルDにレコードがない場合への対応」の組み込みが
必要だったんですが、そこまで気が回りませんでした(汗)
失礼しました。
「→」型の結合線で、矢印の先側(今回の例ではテーブルD)にレコードがない場合、
フィールドの値は「Null」になります。
Nullと数値の加減乗除、或いは「=」での数値との比較は、いずれも演算結果として
「Null」が返されます。
http://oshiete1.goo.ne.jp/qa4850675.html
このため、テーブルDにレコードがない場合、演算結果は空白表示になってしまいます。
これを回避するには、Nz関数を使用して「0」に変換してやります。
【例】クエリのデザインビューでの『フィールド』の値・式
<現状>
発送個数
出品在庫数: [出品数量]-[発送個数]
<変更後>
発送個数合計: Nz([発送個数], 0)
出品在庫数: Nz([出品数量], 0)-Nz([発送個数], 0)
※複数のテーブルでフィールド名が重複する場合は、以下のように「[Table]![Field]」と
いう形にする必要がありますので、参考まで:
発送個数合計: Nz([テーブルD]![発送個数], 0)
出品在庫数: Nz([テーブルC]![出品数量], 0)-Nz([テーブルD]![発送個数], 0)
・・・以上です。
DexMachinaさん
kamuycikapです。
詳細な回答を頂ありがとうございました。
無事に、目的の処理を導入する事が出来ました。
慣れないAccessに悪戦苦闘しており、頂いた情報は今後の処理についても非常に有用な情報です。
丁寧に回答いただき、非常に感謝しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(データベース) accessについて 2 2022/05/31 16:58
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルに主キーを作らないデ...
-
アクセスにエクセルのデータを...
-
accessのレポートであとから他...
-
アクセスのフォームを開くとき...
-
Access 複数フィールドの一致
-
Accessを使って日付を比較したい
-
アクセスの重複クエリ
-
accessで、「集計のオプション...
-
Accessの入力フォームから、テ...
-
Access2010 携帯番号にハイホン...
-
アクセスのオートナンバーの再...
-
ACCESS クエリで重複データを最...
-
ACCESSのフォームからデータの...
-
アクセスでテーブルの変更内容...
-
選択したチェックボックスのみ...
-
Access_vbaフィルタ機能
-
「データベースまたはオブジェ...
-
アクセスで前年対比を出す方法...
-
Access 別フォームへの再クエ...
-
Accessでフォームへのフィール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルに主キーを作らないデ...
-
accessのレポートであとから他...
-
accessで、「集計のオプション...
-
アクセスにエクセルのデータを...
-
Accessを使って日付を比較したい
-
Accessの入力フォームから、テ...
-
Access 複数フィールドの一致
-
Accessで検索を高速化
-
アクセスのフォームを開くとき...
-
Access2010 携帯番号にハイホン...
-
Access 2010 土日祝日を除いて...
-
ACCESS Yes/No型の集計
-
Accessのクエリによる集計が出...
-
オートナンバー型を1から始める...
-
Access97のフォーム(リストボッ...
-
Accessフォームでデータ入力で...
-
Access クエリの更新結果をテ...
-
Accessクエリのデータ表示件数...
-
Access 表を結合したい
-
Accessの「式で型が一致しませ...
おすすめ情報