• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2007 クエリの作成 フィールド選択)

Access2007 クエリの作成 フィールド選択

このQ&Aのポイント
  • Access2007を独学で勉強中です。クエリを使ってテーブル「売上台帳」と「商品台帳」の情報を結合する方法について教えてください。
  • 「商品CD」を取得するため、テーブル「売上台帳」から情報を取得する必要がありますが、なぜテーブル「商品台帳」の「商品CD」を使わないのでしょうか?
  • リレーションシップと参照整合性の設定は行っています。クエリ作成において重要な要素ですので、詳細を教えてください。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

リレーションシップとクエリの詳しい説明が無いので 一般的?な事を推測のもとに。 売上台帳は日々の売り上げで毎日更新されますね。 一方商品台帳は必要になった時だけですので一か月間更新なしの場合もあり得ます。 商品台帳はマスタテーブル、売上台帳はトランザクションテーブルといって良いと思います。 さて、 リレーションシップの設定を行っているので 売上台帳の商品CDは必ず商品台帳の商品CDに含まれます。 しかし、売り上げのない商品CDは当然売上台帳の商品CDにはありません。 >どちらから「商品CD」をとっても、クエリのデータシートビューで確認すると同じ結果になりました なのでクエリの結合が、両方のテーブルの結合フィールドが同じ・・・になっていると推測。 1---∞ この場合はどちらの商品CDにしても結果は同じです。 結合の種類を変えて、商品台帳1--→∞売上台帳 にして色々試してみてください。 何を求めたいのか・・でクエリも変える必要が有ります。 ここをご覧になってベン図で求めたい範囲が何かを考えてみてください。 http://www.sk-access.com/Syo_Query/SqA011_Property.html ちょっと蛇足かもしれませんが、現実には商品台帳にはまだ無いけど売上台帳に入力だけ先にしたい・・ などのケースが発生します。 その場合にはリレーションシップを張っていると出来ませんのでリレーションを削除して 入力作業に専念して後からマスタテーブルである商品台帳に登録することもあります。

auswa6015
質問者

お礼

さっそくのご回答、ありがとうございます。 なぜかログインができなくなってしまい、お礼が遅くなりました。 質問の内容も簡単に書きすぎていたようで、申し訳ございません。 その後、いろいろ試していたところ、売上台帳の商品CDをクエリで使わないと、クエリを使ってフォームを作成した場合、新規の登録ができないことに気がつきました! 「見るだけならどちらでもOK、入力があるならデータを書き込みたいテーブルから取る必要がある」ということですね。

その他の回答 (1)

noname#192382
noname#192382
回答No.1

なぜテーブル「商品台帳」の「商品CD」を使わないのでしょうか??? 因みに、どちらから「商品CD」をとっても、クエリのデータシートビューで確認すると同じ結果になりました。>> vszk 一つのテーブルに「売上台帳」の「商品CD」と「商品台帳」の「商品CD」の二つの「商品CD」という同じものを並べるのはむだだからです。どちらか一つのせれば十分です。

auswa6015
質問者

お礼

ログインができなくなってしまい、お礼がおそくなって申し訳ありません。 2つある商品CDのうちどちらを取ればよいのかが、よくわかりませんでした。 いろいろ触っていると、どちらから取っても表示はできるが、売上台帳から取らないと新規の入力ができないことが分かりました。 ご回答くださり、ありがとうございました。

関連するQ&A

専門家に質問してみよう