質問: アクセスvba テキストボックス入力値からの参照 マイクロソフトアクセス初心者です。 現在、アクセスでデータベースを作成しています。 2つのフォーム(フォーム(1)、フォーム(2))、2つのテーブル(入力情報、マスタ)、2つのテーブルをもとにした1つのレポートを作成しています。 『フォーム(1)』のテキストボックスaに入力された値を、dlookup関数で『フォーム(2)』のテキストボックスbに数値を参照しています。 『フォーム(2)』のテキストボックスに表示された値を、『フォーム(2)』に設置されたコマンドボタンをクリックすると、vbaで『テーブル入力情報』のフィールドaに入力されるようにしています。フィールドaについてのマスタとなるテーブルが『テーブルマスタ』です。 リレーションシップを設定せず、ただ単に値を入力することは出来るのですが、レポートを作成するにあたって、『テーブル入力情報』と『テーブルマスタ』のフィールドaに1(テーブルマスタ)対多(テーブル入力情報)のリレーションシップを設定したいと思っています。 リレーションシップを設定し、テキストボックスbに表示された数値を『テーブル入力情報』に入力する際、『テーブルマスタ』から該当するデータを選択して『テーブル入力情報』に入力されるようにしたいと思うのですが、現状では、リレーションシップを設定すると、入力値が真っ白になってしまい、レポートにも入力したデータが反映されません。 ちなみに、入力する際はフィールドa=me.テキストボックスbのようにしています。 何か良い解決策がありましたら、是非教えていただけませんでしょうか? 分かり難い文章かと思いますが、どうぞ宜しくお願い申し上げます。
回答: 私とimogasiさんのツープラトン攻撃でさぞ落ち込んでいるかと思います (^^ゞ しかしながら、どこのサイトでも同様なレスがつくとおもいますよ。 さて #2ではっきりと分かったこと テーブルマスタ id主キー オートナンバー型 社員番号長整数型??インデックスの設定は?? テーブル入力情報 社員番号長整数型??インデックスの設定は?? テーブルマスタがマスターテーブルで、テーブル入力情報がトランザクションテーブル的な 感じですが、テーブル入力情報に社員ごとの詳しい情報が入っているのでしょうかね。 二つのテーブルの他のフィールドも含めたもっと詳しいフィールド定義が不明です!!!!! それぞれのテーブルに期待している『役割?、モノ』は何でしょう?! 2・3具体的なレコードの内容も示して欲しい。 フォーム(1)、フォーム(2) では分かりづらいので実際のフォーム名を示して貰いたいところ。 で、そのフォームのレコードソースは現状どうなっていますか。 回答者は傍にいて画面を見ているわけではありませんので、貴方が提示された「文字」だけが頼りです。 多分、簡単なことかと思われますが、誤解に基づく回答で解決されたように思えても 新たな難題が起こってくる場合もありえますので慎重になってしまいます。 おそらく前回の回答のメイン・サブフォーム間で社員番号で親子関係を設定すれば・・・ のような気がしますが。