• ベストアンサー

別々の性質のもつテーブルのクエリーとレポートについて

ACCESS2000において テーブルA  ID  氏名  口座   テーブルB  ID  振込み月  金額A テーブルC  ID  振込み月  開発費 テーブルD  ID  振込み月  金額B 上記のようなテーブルが存在するときに、 リンクまたはクエリーでそれぞれのテーブルの 内容をまとめて、レポートを出力させます。 このとき、それぞれのテーブルでの振込み月は 必ず毎月存在するとは限らないので、存在しない 月はデータがありません。 それぞれのテーブルのデータを集計し、各IDにおける その月の振込み月の金額の合計を算出します。 レポートにおいては、振込み月とそれぞれの金額と 金額の合計をレポート印刷します。 そのままのクエリーを考えると、それぞれのテーブルの データをもつIDのみ、クエリーのデータとなってしまう ので、その月のデータがない場合でも金額¥0として クエリーとしたいですが、どのようにすればいいでしょうか?よろしくお願いします。

  • patak
  • お礼率20% (24/115)

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

  • ベストアンサー
  • oka123
  • ベストアンサー率31% (69/219)
回答No.4

こんにちわ 再度、回答します いろいろ方法はあると思うので 質問者殿で自由に試行してみると いい結果がでるとは思いますが いくつか、思いつく方法を書きます ******************************* 案-1 a-b a-c a-d でそれぞれ クエリ-を発生させて その3つのクエリ-をユニオンクエリ-で 1つのクエリ-にする そして次にクエリ-の集計行機能で id+月 で集約クエリ-にする 案-2 あらかじめテ-ブルを作成しておき (項目を定義できますから) そのテ-ブルを0件に削除してから(削除クエリ-) そこのテ-ブルへそれぞれの値を項目へ 追加書きこみする 宜しくお願い致します

その他の回答 (3)

noname#2685
noname#2685
回答No.3

クエリのデザイン表示で 「テーブルの ID が結ばれている線」 があるかと思います。 その「線」をマウスでクリックして選択し、 右クリックで「結合プロパティ」を表示させます。 そうすると表示されるダイアログで 「1:両方のテーブルの~」 「2:~」 「3:~」 となっているラジオボタンがあるかと思います。 いま、たぶん「1」になっていますので、 (理由は後で調べるとして) 「2」とか「3」とかいろいろ試してみて下さい。 お望みの結果が得られると思います。 詳しく調べるには、 「左結合」とか「LEFT JOIN」 を検索してみて下さい。 頑張って下さいね♪

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_kj04_1.htm,http://www.rfs.jp/sitebuilder/sql/04/03_4.html
  • oka123
  • ベストアンサー率31% (69/219)
回答No.2

こんにちわ 選択クエリーの結合プロパティを 例えば「aテーブルの全件」 とすれば、片方(aテーブル)にあれば 全件出てきます 問題はレコードが無いときにその数値項目が 0ではなくて、null値になることですが クエリーを作りnull値を0にすれば 解決できます

patak
質問者

補足

ありがとうございます。 クエリーとした場合、 テーブルBが ID 振込月 金額1 1  7月 2000 2  7月 3000 テーブルCが ID 振込月 開発費 1  7月 3000 2  8月 4000 3  7月 2000 テーブルDが ID 振込月 金額2 1  8月 2000 2  7月 3000 3  7月 2000 クエリー結果が ID 振込月 金額1 開発費 金額2 1  7月  2000   3000    0 1  8月     0    0   2000 2  7月  3000    0    0 2  8月    0     4000   0 3  7月  3000    2000    2000 の場合、クエリーを作成すると 金額1は表示できるが振込月が8月の ような場合のケースが表示できない ようです。 最終的には上記のケースになる場合は どうなのでしょうか?

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>それぞれのテーブルのデータをもつIDのみ、クエリーのデータとなってしまう・・ これはクエリのテーブル同士の結合が「両方のテーブルの結合フィールドが同じ行 だけを含める」になっているためで、結合プロパティを開き「テーブルAの全レコード とテーブルBの同じ結合フィールドのレコードだけを含める」に変更します。 他のテーブルC・Dも同様にテーブルAの全レコードと同じ結合フィールドのレコード を含める結合に変更すればデータがないIDも各テーブルを表示出来るようになります。

関連する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)

  • Microsoft Accessについて

    テーブル)※図1   ID  購入日  商品名  金額    1  2006/07/01  A   100    2  2006/07/15  B   200    3  2006/07/31  A   300    4  2006/08/02  B   400 上記のような情報をレポートで以下のように出力するには どういったクエリ→レポート作成をすればよろしいでしょうか? レポート)※図2   商品名   7月金額合計  8月金額合計  合計    A      400           0      400    B      200          400      600    合計     600          400      1000 クエリで図2の表はできた(クロス集計)のですがそれを レポートにすることができないです。 レポートにすると、どうやっても 商品名  購入月  金額  A    7月  400  B    7月  200       合計  600 という感じにしかできあがらないのです。 お手数ですがよろしくご伝授願います<m(__)m>

  • クエリでのデータ更新について

    ACCESS2000で更新クエリの質問です。 フィールドの値の合計、カウントなどの集計値を計算するクエリから取り出された値を、更新クエリでデータを更新したいのですが、 「更新可能なクエリでありません」とエラーがでます。 LOOPする方法もあるのですが、できればクエリで一括更新したいと思います。 どなたかご教授お願いします。 やりたいことは下記のとおりです。Aテーブルを集計しBテーブルの個数にAテーブルの個数の合計値を更新する。 <Aテーブル> コード  個数 1     1 1     2 1     3 2     4 2     4 3     5 3     6 <Bテーブル> コード  個数 1      2      3    ↓↓↓更新後 <結果:Bテーブル>   コード  個数 1     6 2     8 3     11

  • Access クエリ、レポートによる集計について

    クエリで目的の集計結果を出すために制作中なのですが 私の作り方が悪いようでレポートを作成する段階でAccessが フリーズしてしまいます。 集計内容テーブル構成は以下のとおりです。 (マーケティング処理用のデータベース) 一つの企業がいくつもの店を持っています。 企業用のデータと店用のフィールド項目は同じですが一対多を保つためにテーブルを分けています。(企業側が一、店側が多。) このように一つの企業に対して店がいくつもある場合、多店舗と呼んでいます。 この多店舗を持つ企業データだけで1500社程度あります。 多店舗のデータは1万件ほどです。 一つの企業に対して一つの店しかない単独店のデータもあります。 企業用と店用を分ける必要が無いので単独店のデータは一つだけです。 今の段階では企業テーブルに多店舗の企業データ。 店テーブルに多店舗のデータと単独店のデータとなっております。 別テーブルに商品分類テーブルがあり、フィールドとしては構成比、分類IDとなっています。 この商品分類を横並びにするためにクロス集計クエリを使い横並びにしました。分類は15品目程度あります。 ついでに構成比と別テーブルにある売上を元にパーセントを金額に直しています。抽出条件に売上100000以上としています。 クエリ名:●販売高(すべて) http://upload.jpn.ph/img/u14091.txt 県ごと企業ごとの集計をしたいので、 フィールドは 都道府県、掲載拒否(0)、データレベル(10)、企業コードをグループ化。以下商品分類は合計と設定しています。  クエリ名:◆多店舗販売高(仮名) (データレベル、00が単独店 10が多店舗)  (掲載拒否、1の場合は拒否) ttp://upload.jpn.ph/img/u14092.txt 単独店は一店舗だけなので多店舗のような企業ごとの集計はする必要がありません。販売高クエリを使いデータレベル00、掲載拒否0、商品分類や企業コードを入れただけです。 これで完成ではなく、掲載拒否の合計データを入れる必要があります。 フィールドとしては、都道府県、店名、掲載拒否(1)、企業コードでグループ化、以下商品分類は合計。 これら3つの集計内容をユニオンクエリで一つにしています。 (多店舗販売高+企業名、単独店販売高、その他販売高)(県別集計) 多店舗販売高に関しては後から企業名を別クエリで足しています。 フィールド数、フィールド名を合わせる為に、その他販売高クエリの、店名及び企業コードはNULLで設定しています。 このユニオンクエリをレポートで設定し、グループレベルでトップを県、 二番目に掲載フィールドを設定。 集計は分類のすべてを合計で設定。 県でグループ化して、その他とそれ以外の合計を出したいので掲載フィールドをユニオンクエリを作成する前段階で追加しました。 (掲載1はその他、それ以外は0) 集計したい内容をエクセルで簡単に表すとこういう感じです。 ttp://upload.jpn.ph/img/u14090.jpg 社数やシェアなどの計算はクエリでさらに作成しなければならないのでしょうか?

  • Accessでの複数クエリ(テーブル)を用いたレポート出力

    こんにちは。QNo.348201とQNo.350892では大変お世話になりました。 1)クエリ処理した『プロジェクト別予算簿』のレポート↓ 費目   種別  月初残高 支出合計  100 … 200  月末残高 人件費  賞与  1,000,000 400,000 300,000 100,000 600,000 その他 外注費  400,000 100,000 100,000 300,000     会議費 600,000 200,000 200,000 400,000 2)下記表を作りたい。 費目   種別  月初残高 支出合計  100 … 200  月末残高 人件費  賞与  1,000,000 400,000 300,000 100,000 600,000 その他 外注費  400,000 100,000 100,000 300,000    ●管理費 800,000 200,000 600,000    ■相当額 700,000 400,000 300,000     会議費 600,000 200,000 200,000 400,000 -  - -  - -  - -  - -  - -  - -  - 合計金額 -  - -  - -  - -  - -  - -  - -  - ●=選択クエリ『管理費』の“一般管理費” フィールドをレポートの“支出合計”欄に転機したい ■=選択クエリ『相当額』の“消費税相当額”フィールドをレポートの“支出合計”欄に転機したい これら『管理費』『相当額』は共に「テーブル作成クエリ」としても作っているのでテーブルにもファイル として吐き出されています。 しかしどうしても 2)のレポートを作成出来ずに行き詰まっています。エラー内容は相変わらず 『選択したフィールドのレコードソースにアクセスできません。テーブルと、そのテーブルを基にしたクエリ のフィールドを選択した可能性があります。もしそうであれば、テーブルかクエリのどちらかのフィールド だけを選択して下さい』 です。

  • Accessのレポート上での計算

    現在4つのフィールドで=DCountを使ってリストの個数を返すクエリを組みました。 それをレポートで表示したのですが、この各フィールドの個数を合計したいんです。 テーブルB | A | B | C | D | ←このA~Dにはコンボボックスでタイプが入っています。 これから クエリ 式1:=DCount("*","テーブルB","[A]='タイプ1'") クエリを実行すると 1      式2:=DCount("*","テーブルB","[A]='タイプ2'")  クエリを実行すると 0      式3:=DCount("*","テーブルB","[A]='タイプ3'")  クエリを実行すると 1 が表示 といったようにクエリで選ばれている個数を算出しています。 このクエリを使ってレポートを作ったのですが、 レポートフッターに =Sum([式1]+[式2]+[式3]) という式を入れてレポートを表示すると 「101」と返ってきてしまいます(表示されている数字が順番にならんでる)。 目的としては「2」にしたいのですが、式が違うのでしょうか? 初心者バリバリの質問で申しわけありませんが、ご教授いただけますようお願いいたします。

  • アクセス(Access)で、3つのクエリ処理結果を1つのレポートに出力させたい

    こんにちは。QNo.348201 では大変お世話になり、有難うございました。とっても助かりました。 又、以前よりもほんのちょぴっとですが^^; 理解出来た部分が増えたので感謝しております<(_ _)> 皆様からご指導頂きました通りに作業をしまして無事、完成させたクエリですが、現在はそれを レポートに出力する所で行き詰まっております。やりたい作業は下記の通りです。 <クエリ> 1.“A 4月分” →フィールド名=合計金額/一般管理費 2.“B 4月分” →フィールド名=合計金額/消費税相当額 3.“C 4月分” →フィールド名=費目/種別/WBS番号・・・など合計16フィールド レポートに出力したいフィールドは “C 4月分”全部と、その行間に“A 4月分”の【一般管理費】、 “B 4月分”の【消費税相当額】を挟むような形で出力したいのですが、下記のようなエラーが出て しまいます。 『選択したフィールドのレコードソースにアクセスできません。テーブルと、そのテーブルを基にした クエリのフィールドを選択した可能性があります。もしそうであれば、テーブルかクエリのどちらかの フィールドだけを選択して下さい』 レポートの新規作成 から入り、「複数のテーブルまたはクエリからフィールドを選択出来ます」と 説明されていた レポートウィザード を選びました。 作業が滞っているのは、クエリで作成した、これら3つが起因しているのでしょうか。 このような複数クエリを1枚のレポートに出力する場合は、クエリでの作業は、一旦、テーブルとして 吐き出して、テーブルに入ったこれら3つを、レポートで処理する…という形になるのでしょうか。 前回同様、明日中に処理しなくてはならない背景があり、ご多忙中の所、誠に恐縮ではございますが 何卒、ご指導の程、宜しくお願い申し上げます。

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

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

  • ACCESS レポートをテーブルへ

    お世話になります。 WINXP・ACCESS2000にてレポートをテーブルへ、テーブルからエクセルへエクスポートしたく迷っています。最終的にはエクセルになれば良いのですが、なぜ、クエリではないかと言うと、グループ合計をレポートの集計オプションで行っています。 例(野菜グループ・雑貨グループ) スーパー在庫 野菜  リンゴ  5個  みかん  2個 野菜 合計 7個 雑貨  なべ   6個  食器   6個 雑貨 合計 12個 このグループ合計まで、エクセルにエクスポートしたいのですが 教えて下さい。 宜しくお願い致します。

  • Accessクエリーで両方のテーブルの全てのデータを表示することは可能ですか?

    Accessの本来の主旨にあってないと思うのですが・・・。 とあるデータの入ったテーブルをA:1月分・B:2月分と分けて作成して おります。 この2つのテーブルをクエリーでひとつのデータにまとめたいと思い、 品番をキーにクエリーを作成しましたが、結合の種類ではA・B両方一致した データか、AのすべてのデータとBの一致したデータというように片方を 主にしたデータしか表示することができません。 AにはあるがBにはない、AにはないがBにはあるといった具合に、 一致したデータはもちろんのこと、一致しないデータも片方だけではなく 両方のテーブルのデータを表示することは可能でしょうか? そもそも、同じ構造のテーブルならひとつにまとめてクロス集計クエリーで 品番別に月単位で表示するようにしたらよいのでしょうか? できればテーブルはひとつにまとめたくないのですが・・・。 Accessの構造をあまり知らなくてごめんなさい。 よい解決策があったら教えてください。

専門家に質問してみよう