• 締切済み

Accessのサブフォームから値を参照する方法について

いつも拝見させて頂いております。 現在、Access97のフォームに以下のようなコントロールを配置しています。 1.フォームにサブフォームAを配置  1-1.サブフォームAにテキストボックスAを配置(入力用) 2.フォームにサブフォームBを配置  2-1.サブフォームBにテキストボックスBを配置(表示用) ※フォームは一つです。 <実現したい事> サブフォームA内のテキストボックスAの値をサブフォームB内の テキストボックスBに表示したいのですが、なかなかうまくいきません。 サブフォームA内のテキストボックスAの値を変更するとサブフォームB内の テキストボックスBも変更するようにしたいので、テキストボックスBの ControlSourceに[Form]![フォーム]![サブフォームA].[Form]![テキストボックスA] としましたが実現できませんでした。 どのような方法をとれば実現できるでしょうか? 宜しくお願いします。

みんなの回答

noname#7099
noname#7099
回答No.2

複雑になって、サブフォームだけで動作しなくなるんでいやなんですが、 サブフォームAのフッターにあるテキストボックスなら1個しかないんで メインフォームにテキストボックスに =[Form]![フォーム]![サブフォームA].[Form]![テキストボックスA] サブフォームBのテキストボックスに =[Form]![フォーム]![メインのテキストボックス] としたら、まわりまわってでてこないかしら。

emoemo
質問者

お礼

回答ありがとうございます。 matubokkuriさんの回答通り、メインフォームに合計値を表示させて サブフォームBのテキストボックスBのControlSourceに指定しましたが 出来ませんでした。 完成予定日まで日数がありませんので、コードを使用して表示する 方法で対処しようと思います。 どうも、お付き合いありがとうございました。

noname#7099
noname#7099
回答No.1

 サブフォームのレコードが特定されていないので、どのレコードを指しているかわからないのでしょうね。 1)レコードに保存できるのなら、 サブフォームAとサブフォームBのソースレコードを一緒にして、 サブフォームAに入力後、レコードを保存すれば、サブフォームBの同一項目に反映されると思います。 この方法は使えませんか?

emoemo
質問者

お礼

回答ありがとうございます。 実は、サブフォームA内のテキストボックスAは、同フォームの レコードソースで指定したテーブルの1フィールドをSUM関数を 使用して合計値をフォームフッター内に非表示で表示しており ます(詳しく書いていなくてごめんなさい)。ですので、テキストボックスAは、 テーブルに保存しておりません。テキストボックスBも表示用ですので、 テーブルに表示しておりません。 簡単な方法でControlSourceに指定して・・・と考えておりましたが、 やはりコードを使用して合計値が変更したらテキストボックスBの値を 変更する方法しかないのでしょうか?

関連するQ&A