こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ACCESSのリレーションシップ設定について

お世話になっております。

添付画像にありますように、3つのテーブルからデータを抽出する
クエリーを作成したいのですが、リレーションシップをどのように
設定すればよいか教えてください。

いろいろ試したのですが、以下のような問題が発生し、困っています。

・クエリーに新規データを入力できない。もしくは、既存データを修正できない。
・クエリーに誤った組み合わせが抽出され、データ数が3倍くらいなる。

よろしくお願いします。

投稿日時 - 2014-01-02 20:04:48

QNo.8410663

すぐに回答ほしいです

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

ACCESSでは直列のリレーションは許されますが
並列はお気付きのように問題があります。

解決策は希望するクエリと同じ項目のテーブルにします。
但し、製品のフィールドは不要です。

まだ気になるところがあります。
補足願います。
1.希望するクエリーに年月無いのはどうしてですか
2.売上テーブル、生産テーブルは製品―月で1レコードですか

ACCESSでは直列のリレーションは許されますが
並列はお気付きのように問題があります。

解決策は希望するクエリと同じ項目のテーブルにします。
但し、製品のフィールドは不要です。

まだ気になるところがあります。
補足願います。
1.希望するクエリーに年月無いのはどうしてですか
2.売上テーブル、生産テーブルは
  製品―月で複数のレコードになりますか

補足によりテーブル設計に変更が生じます

投稿日時 - 2014-01-03 18:42:52

このQ&Aは役に立ちましたか?

11人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

ACCESSでは直列のリレーションは許されますが
並列はお気付きのように問題があります。

解決策は希望するクエリと同じ項目のテーブルにします。
但し、製品のフィールドは不要です。

まだ気になるところがあります。
補足願います。
1.希望するクエリーに年月無いのはどうしてですか
2.売上テーブル、生産テーブルは製品―月で1レコードですか

投稿日時 - 2014-01-03 17:56:24

補足

お世話になっております。

アドバイスに深謝いたします。

以下、ご連絡させていただきます。

1.売上テーブルと製品テーブルの「製品」について
 間抜けな回答をしてしまい申し訳けありません。
 この「製品」は、製品テーブルにある「製品名」と同じです。
 売上および生産テーブルに同じ「製品名」を入れる設定にしました。

2.クエリに「年月」がない理由
 説明漏れです。「年月」は必要です。

3.データについて
 入力するデータは、一商品の一ヶ月の実績をまとめて入力する予定です。

3.テーブルの再構成
 1)いただいたアドバイスを踏まえ、以下のテーブルを作成しました。
  
ID オート(主キー)
  製品コード(数値)→製品テーブルとリレーション
  年月(YYYY/MM)
  生産数量(数値)
  売上数量(数値)

 2)このテーブルに基づき、クエリで累計在庫を計算する場合、DSUM関数を使用すればよいのか
  教えてください。また、恐縮ですが、DSUM関数の数式についても教えていただけると助かります。

よろしくお願いします。

投稿日時 - 2014-01-03 19:15:14

ANo.2

> 売上テーブルと生産テーブルの「製品」は製品コードです。
いやいや、テキスト型の列の話ですよ?
製品コード列(数値型)は別に定義してあるじゃないですか。

テーブル結合を製品コードと製品(名)の2つで行ってるのかな?
だったら同一コードで名称相違データが存在するのが
レコードが増える原因。

投稿日時 - 2014-01-03 12:23:24

ANo.1

売上テーブルと生産テーブルの「製品」とは何?もしや製品名?
製品コードのみで連結しても3倍になるんですか?

「希望するクエリ」に登場しない列にNotNullの属性がある(ID列)ので更新は不可

投稿日時 - 2014-01-03 02:23:17

補足

お世話になっております。

アドバイスありがとうございました。
売上テーブルと生産テーブルの「製品」は製品コードです。

投稿日時 - 2014-01-03 09:13:21

あなたにオススメの質問