• ベストアンサー

選択クエリで空欄のテーブルがあっても表示したい

選択クエリで4つのテーブルをひとつにしています。 テーブルA.B.C.Dとすると A.Bまではデータが入力されていて、C.Dには入っていない場合、すべてのデータがデータシートに表示されなくなってしまいます。 データが入っていないテーブルがあっても、A.Bまでのデータは表示されるようにしたいのですが・・・。 リレーションシップのやり方が悪いのか・・・根本的に間違っているのか。なにか良い方法はありませんでしょうか?

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

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

選択クエリの詳細は不明ですが・・。 リレーションの結合の仕方を変更してください。 選択クエリ上でAからB・C・Dへの結合線を右クリックで結合プロパティを表示してください。 今は多分[両方のテーブルの結合フィールドが同じ行だけを含める]になっていると思いますので その結合をAの全レコードとBの同じ結合フィールドのレコードだけを含める]に変更してみてください。 これで表示できるはずです。

morimori119
質問者

お礼

できました!!ありがとうございます!!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセス・選択クエリについて

    アクセス・選択クエリについて こんにちは。現在、選択クエリについて悩んでおります。 テーブルAとテーブルBからそれぞれ3つのフィールドを選び、選択クエリを作成。しかし、出来上がったクエリのデータシートには一切データが表示されていません。ならばと思い、テーブルAからだけ3つのフィールドを選びクエリを表示させると、きちんと表示します。テーブルA,テーブルBには当然主キーが設定されていますが、その事と関係するのでしょうか?ご存知の方、どうか教えてください。宜しくお願い致します。

  • ACCESSのクエリで表示されるデータについて

    クエリで表示されるデータの範囲について教えてください。 <状況例> 例えばなのですが、取引先会社の管理データベースとして「テーブルA」と「テーブルB」があったとします。 「テーブルA]のフィールドは「会社ID」、「会社名」、「住所」とします。 「テーブルB]のフィールドは「連絡先ID」、「会社ID」、「担当者名」とします。 そして、「会社ID」をリレーションシップで繋いで、クエリで「テーブルA」「テーブルB」の全てのフィールドを表示したとします。 この時、「テーブルA」にデータが5つあり、「テーブルB」にはデータが2つしかなく、結果リレーションシップを通じて対をなすデータが2つしかない場合には、クエリでは2つしかデータが表示されないと思います。 <質問> クエリではリレーションシップで対をなさないデータは無効となるようですが、対をなさないデータも全てクエリで表示する方法はないのでしょうか。 上記例でいうと、「テーブルA」のデータ5件全てについて表示させたいのですが。もちろん、「テーブルA」のデータ中対をなしていないものについては、「テーブルB」のフィールド内容については「空白」での表示となりますが。

  • アクセス テーブル、クエリーについて

     アクセスでソフト作成中です。そこで教えてほしいことがあります。 たとえば下記のように2つのテーブルがあります。 テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30          テーブル1の数値は固定します。そこで下記のようなクエリーを作成したいのです。 クエリー1 フィールドA フィールドB a1 10 b1 20 c1 30 テーブル2に数字を入れていくと テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30           40 クエリー1 フィールドA フィールドB a1 40 b1 20 c1 30 このように数字が上書きされていくようなクエリーは作成できないでしょうか。(あくまでテーブル1の数値は固定、フィールドAとフィールドBにリレーションシップは設定されていない。) よろしくおねがいします。

  • 選択クエリーで 2つのテーブルの項目が Null どうしのデータを抽出するには?

    初心者です、教えてください。 テーブルが、2つあって テーブル名: T1 T2 フィールド1: A1 B1 フィールド2: A2 B2 フィールド3: A3 B3 とあった時、選択クエリーで T1 と T2 のフィールドの A1-B1、A2-B2、A3-B3 が、 一致したものを表示するクエリーを作成します。 でも、A2、A3、B2、B3のデータ中には、それぞれ Null値が入っていて、 A2-B2、または、A3-B3 が、Nullどうしなら、一致とみなして、表示するには、 どうしたらいいのでしょうか? Nullのみどうしのデータで、Nullのフィールドを 除いた選択クエリーをつくって、あとで合わせてもいいのですが、 実際のテーブルは、そういうフィールドが、いっぱいあって、大変なんです。 簡単に表示する方法は、あるでしょうか? 初心者なのでむずかしいことは、 やったことがなくて、すいませんが、わかる方がいらっしゃたら、お願いします。

  • Accessのクエリ集計について

    Accessのクエリ集計について kamuycikapです。 テーブルを集計するクエリについて悩んでいます。 以下がテーブルの状況と試行錯誤しているクエリ。 そして実行結果の箇条書きです。 非常に長文ですが、識者の方のアドバイスをお願い致します。 --ここから <データベース構造:リレーションシップ> リレーションシップとテーブルの構成は下記の通りです。 -->がリレーションシップです。 ■テーブルA      ■テーブルB    ■テーブルC    ■テーブルD 納品書コード ーー> 納品書コード ーー> 納品書コード  ーー> 納品書コード 仕入数          商品コード  ーー> 商品コード   ーー> 商品コード                               商品連番    ーー> 商品連番                               出品数量        出品連番                               商品名           発送個数                               色             発送日付                               サイズ                               売値 <作りたいデータ> 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量、発送個数、出品在庫数、倉庫在庫 <クエリ> ○グループ  納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量 ○合計(集計)  発送個数 ○出品在庫数(演算)  [出品数量]-[発送個数] ○倉庫在庫(演算)  [仕入数]-[発送個数] <データ状況> テーブルCのデータは約300レコードありますが、そのうち20件ほどしか商品が発送されていない為、テーブルDのデータは20件しかありません。 <望む結果> テーブルCのデータが全て表示され、紐つけられたテーブルDのデータがが存在する場合は、発送個数を表示し出品在個数を演算する。 演算した出品在個数を利用して、倉庫在庫も演算する。 <クエリの実行結果> テーブルCのデータが全て表示されず、テーブルDに紐つけられたレコードのみが表示されるため、約300件のデータではなく、テーブルDに入力されている20件しか表示されない。 --ここまで 目的は、テーブルCのデータを全て表示し、発送情報がテーブルDに入力されているデータについては演算結果を表示する事です。 現状では、テーブルDのデータしかテーブルCのレコードが表示されません。。。。 どうすれば目的のデータを収集できるクエリが作成で切るのか、識者の方のアドバイスをお願いします。

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

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

  • テーブル間の更新クエリにおいて

    Access2010で入力フォームを作成しています。 一時データとしてテーブルAを連結サブフォームとして編集します。保存ボタンをクリックするとメインのテーブルB(Aとフィールド構成は同じ)へA、Bのフィールド間で値が異なる場合、上書き保存をするという更新クエリを用意しています。 質問はテーブルAでフォーム上、オプショングループのラジオボタン(項目はテキスト型 値リストは0と1)に設定した項目が初期値のnullから入力したデータがメインのテーブルBに更新できないので困ってます。 連結フォームなので、テーブルAに値が入っており且つBと値が異なるのはデータビューで確認しています。ただ更新クエリでの選択(データビュー)に載ってこない。 この項目がテーブルBに反映されるのは予めインポートで0もしくは1が入力されていた状態から変更した場合と他の項目も合わせて値に変更があった場合のみでした。 クエリの抽出条件はテーブルA.項目<>テーブルB.項目としています。他の項目もor条件で同じ設定にしています。切り分けのため、このオプショングループの項目だけを変更した場合のクエリにしても反映はされませんでした。 考慮すべき点あればご教示ください。 よろしくお願いいたします。 どうかお助けくださいませm(__)m

  • テキストボックスにクエリ結果を表示させたい

    フォームにテキストボックスAがあり、そこに入力した文字(下記テーブルのフィールド1の文字)をクエリーの「抽出条件」にし、同じフォーム上のテキストボックスBに表示しようと思っています。 クエリを開くとパラメータの入力を求めてきて、入力するとうまく抽出されます。 テーブルは フィールド1|フィールド2   A   |  10   B   |  20   C   |  30   D   |  40 のような簡単なものです。 テキストボックスBのコントロールソースに 「=[○×クエリ]![フィールド2]とやっても「#Name?」と表示されてしまいます。 どのようにやればよいのでしょうか?

  • 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で、あるものはその合計を集計させるにはどのようにしたらよいでしょうか? 何卒、よろしくお願い申し上げます。

  • ACCESS2000でのテーブルの結合について

    初歩的な質問で恐縮ですが ACCESS2000を使用しテーブルの構造が(フィールド)同じもの(但し入っているデータは異なります)あります。 このテーブルは別々のまま保存した状態でクエリーでひとまとめにして表示させたいのですが 例えば テーブルAには300件 テーブルBには200件 テーブルCには100件の同一構造のデータがあった場合 クエリーDとしてA+B+Cで600件が表示されクエリーDのデータを修正した場合それぞれのテーブルのデータに反映させるようにしたいのです。 以上よろしくお願いいたします。 

専門家に質問してみよう