次の方法で共有

初心者です。accessで、ユーザーがフォームを使って、データベースに新たなレコードを追加しようとするとき、「フィールド’発注明細CD’とキーが一致しているレコードをテーブル’T61発注契約テーブル’で探すことができない。とのエラーが出ます。

Anonymous
2012-04-19T04:38:23+00:00

初心者です。accessで、ユーザーがフォームを使って、データベースに新たなレコードを追加しようとするとき、「フィールド’発注

明細CD’とキーが一致しているレコードをテーブル’T61発注契約テーブル’で探すことができない。とのエラーが出ます。

どこを修正すればよいのでしょうか、やり方が他にあるのでしょうか、教えてください。

(画面イメージ)

+------------------------------------------------------------------------------------------------------------+

|Q60Q61Q62_01_発注契約関連情報登録クエリ                                                                     |

|発注CD  [10    ]←(コンボボックス)   発注明細CD     [10      ]←(コンボボックス)                     |

|                                                                                                            |

|+---------------------------------------------------------------------------------------------------------+ |

||T61_sub_Q60Q61Q62_01_発注契約関連情報登録クエリ                                                          | |

|| 工事名                              弊社CD     お客様CD                            | |

|| [xxxxxxxxxxxx様R更改工事(京都)]   [10  ]                [10  ]                                       | |

|| 工期(始まり)工期(終わり)          金額                  発注応対CD                                 | |

|| [2012/01/12]  [2012/04/27]          [30000]               [10  ]                                       | |

|| 注文書日付  注文請書日付  工事完了日付  検査合格日付  請求日付  支払い日付                   | |

|| [2012/04/10]   [2012/04/10]   [2012/04/27]    [          ]   [        ]   [        ]                   | |

|+---------------------------------------------------------------------------------------------------------+ |

|+---------------------------------------------------------------------------------------------------------+ |

||T62_sub_Q60Q61Q62_01_発注契約関連情報登録クエリ                                                          | |

||  応対日付   応対相手社名          応対相手氏名     応対内容                           | |

|| [2012/04/10]  [xxxxxxxxxxxxxxxxxxx]     [きゃりーぱみゅ]        [こんにちは]                           | |

|+---------------------------------------------------------------------------------------------------------+ |

+-----------------------------------------------------------------------------------------------------------+

たとえば、新規に工事拠点が追加になったような場合、発注明細CD~関連のデータを登録したいのですが、この画面ではどうもうまくいきません。

T60発注契約テーブルとT61発注契約テーブルとT62発注応対テーブルが発注明細CDと発注応対CDでリレーションしているため、この画面ではうまく登録できません。

◆◆◆⇒(フォームセレクターのプロパティの追加・編集・削除の値は許可にしています。)

-----(参考)-----+-----(参考)-----+-----(参考)-----+-----(参考)-----+-----(参考)-----+-----(参考)-----

テーブルについての構成は以前にも記述しましたとおりです。

(工事発注関係のテーブル構成です。)

  ◆T60発注契約テーブル(工事の発注関連のまとめてきなテーブル)

     ・発注CD

+--->・発注明細CD

|

|◆T61発注契約テーブル(名前が上と同じになってしまいましたが、発注契約の明細テーブルです。)

+--->・発注明細CD

     ・工事名

     ・弊社CD

    (・・・・中略・・・・・・)

+--->・発注応対CD

|   (・・・など・・・・・・)

|

|◆T62発注応対テーブル(発注のときの応対を記録するテーブルです。)

+--->・発注応対CD

     ・応対日付

     ・応対相手社名

     ・応対相手氏名

     ・応対内容

(1)T60発注契約テーブルの発注明細CDとT61発注契約テーブルの発注明細CD

(2)T61発注契約テーブルの発注応対CDとT62発注応対テーブルの発注応対CD

をリレーションさせています。

初心者ですが、よろしくお願いします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-04-25T13:20:13+00:00

こんばんは、MukkuMukuです。

ひとそれぞれいろんなやり方があって、それ自体まったく問題ないことなのですが、知っておいた方がよいことがありますから、現在作りかけのものをいじって訳が分からなくなるより、整理して取り組んだ方が手戻りなく進められるのではないかと思いました。

主に 正規化 についてです。

Access 2000 でのデータベースの正規化の基礎

データベースの正規化の基礎

そのほか検索するとたくさんありますのでいろいろ読むだけでも参考になるんじゃないかなと思います。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-04-24T01:44:05+00:00

こんにちはずっちです。

画像の貼り方を学んだのでさっそく…

私の場合はこんなリレーションです。

で、

発注明細コードを未登録のばんごうにすると、エラーとなり新しい工事拠点のレコードを追加できません

とのことでしたが、

主キーになっている項目はオートナンバーかなと勝手に思ってましたが、違いましたか?

こんな感じで。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

10 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-04-20T05:21:51+00:00

    こんにちは、ずっちです。

    前回のスレッドではお返事できませんで申し訳ありません。

    忙しかったもので…

    さて、フォームのレイアウトですが、

    リンクテーブルの情報を元にぼくも作りましたが、MukkuMukuさんと同じようなレイアウトになりました。

    言葉で表すと、

    「メインフォームにサブフォーム1つ、さらにその中にサブフォームが1つ」といった感じです。

    でも、ぷしゅーさんの画面イメージを見ると、

    「メインフォームにサブフォームが2つある」といったように見えます。

    それぞれのサブフォームコントロールのプロパティ、

    「データ」タブにある「リンク親フィールド」と「リンク子フィールド」にはちゃんと入力がされてますか?

    リンクテーブルが正常に組まれていて、正しくサブフォームを配置できていれば、

    ここは自動的に入力されています。

    いちどご確認くださいませ。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2012-04-20T01:21:10+00:00

    (テーブル内容、画面イメージともに微妙に意図したのと違います。)

    (まあ、それはいいとして、)こうゆうようなリレーションしている場合、3つのテーブルにいっぺんにレコードを追加しようとすると、以下のようなエラーが出てしまいます。

    (エラー)

    フィールド’発注 明細CD’とキーが一致しているレコードをテーブル’T61発注契約テーブル’で探すことができない。

    • レコードを追加するときは、ひとつの画面でひとつのレコードしか追加できないのでしょうか。解決方法があったら教えてください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2012-04-19T12:47:52+00:00

    こんばんは、MukkuMukuです。

    こんな感じで、

    こんな感じの状態?

    文字が多いと頭に入ってこないからなんとなく提示。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません