- ベストアンサー
ACCESS マニュアルの使い方とエラー対処方法
- ACCESS2000を使い始めて2日、ウェブ上のマニュアルやこちらのQ&Aなどを参考に、簡単なデータベースを作っているのですが、悪戦苦闘の末、遂に行き詰まってしまいました。
- 現在の状態は、フォームの中にサブフォームを埋め込んで、親フォームが顧客情報のテーブル(親テーブルとします)、子フォームが各顧客の購買状況のテーブル(子テーブルとします)に対応しています。
- 具体的な質問は2つあります。1つ目は、子フォームにデータを入力する際に、親フォームの顧客番号が、自動的に入力されるようにテキストボックスに設定していますが、データとして残らない問題があります。2つ目は、親フォームの中にもう1つの子フォームを作り、その子フォームから1つ目の子フォームを操作する方法についてです。
- みんなの回答 (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の回答は割愛します。
お礼
早速のご回答有難うございます。 ご指摘の通り、リレーションシップの設定ミスでした。 顧客番号どうしにリレーションシップを設定し、サブフォームを作り直したところ、 期待通りに動くようになりました。お力添え感謝いたします。
補足
補足の欄をお借りして改めてお礼を申し上げるとともに、 2つ目の質問に関しては己の力量不足と判断し、質問を締め切らせていただきます。 もっと勉強して、より高度な疑問が出てきた際に、 またお邪魔いたします。ありがとうございました。