• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS 他のフォームを参照した値をレコード内にも書き込む(?))

ACCESS マニュアルの使い方とエラー対処方法

このQ&Aのポイント
  • ACCESS2000を使い始めて2日、ウェブ上のマニュアルやこちらのQ&Aなどを参考に、簡単なデータベースを作っているのですが、悪戦苦闘の末、遂に行き詰まってしまいました。
  • 現在の状態は、フォームの中にサブフォームを埋め込んで、親フォームが顧客情報のテーブル(親テーブルとします)、子フォームが各顧客の購買状況のテーブル(子テーブルとします)に対応しています。
  • 具体的な質問は2つあります。1つ目は、子フォームにデータを入力する際に、親フォームの顧客番号が、自動的に入力されるようにテキストボックスに設定していますが、データとして残らない問題があります。2つ目は、親フォームの中にもう1つの子フォームを作り、その子フォームから1つ目の子フォームを操作する方法についてです。

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

  • ベストアンサー
noname#22222
noname#22222
回答No.1

<顧客マスター> ID・・・・・・・・・・1,2,3・・・・N 区分・・・・・・・・1,2,3・・・・9 顧客名・・・・・・鈴木 一郎,中村 健太 住所・・・・・・・・東京都,大阪府 *実際のデータをテーブル開くで確認 ID  区分  顧客名    住所 1  上得意  鈴木 一郎  東京都 2  上得意  中村 健太  大阪府 3  得意先  山下 敬治  京都府 <購買履歴> ID・・・・・・・・・・・・・・・・・・・・1,2,3・・・・N 得意先マスター_ID・・・・・1 購買日・・・・・・・・・・・・・・・・2006/09/01 品目・・・・・・・・・・・・・・・・・・A商品 金額・・・・・・・・・・・・・・・・・・\12,000 摘要・・・・・・・・・・・・・・・・・・A氏ご紹介 *実際のデータをテーブル開くで確認 ID  得意先マスター_ID 購買日    品目 金額  摘要 1   鈴木 一郎     2006/09/01  A  \1,000 XXX 2   中村 健太     2006/09/02  B  \2,000 3   中村 健太     2006/09/03  C  \3,000 YYY というテーブルを仮定します。 ここまでは、全て、テーブルを開いてコピーしています。 <リレーションシップの設定> 顧客マスター.ID(顧客番号)<====購買履歴.得意先マスター_ID というリレーションシップを設定。 この設定は、クエリ等で購買履歴があれば表示されるようにしたいからです。 <フォームの作成> 顧客マスター、顧客マスターサブフォームをウィザードで作成。 Q1、顧客番号をサブフォームに? A1、その必要はありません。 さて、上記手順を試せば判りますが、顧客マスターサブフォームの[得意先マスター_ID]は自動的にメインフォームを反映します。 つまり、質問者は、<顧客マスター、顧客マスターサブフォームをウィザードで作成>に成功していません。 ※質問2の回答は割愛します。

de_n
質問者

お礼

早速のご回答有難うございます。 ご指摘の通り、リレーションシップの設定ミスでした。 顧客番号どうしにリレーションシップを設定し、サブフォームを作り直したところ、 期待通りに動くようになりました。お力添え感謝いたします。

de_n
質問者

補足

補足の欄をお借りして改めてお礼を申し上げるとともに、 2つ目の質問に関しては己の力量不足と判断し、質問を締め切らせていただきます。 もっと勉強して、より高度な疑問が出てきた際に、 またお邪魔いたします。ありがとうございました。

関連するQ&A