質問: accessコンボボックスとテキストボックス連携 access初心者です。よろしくお願い致します。 コンボボックスとテキストボックスの連携がうまくいかずに苦戦しています。 accessオブジェクト <テーブル> t_住所録 ∟id、名前、住所、電話番号、アドレス t_住所確認テーブル ∟名前、住所 <クエリ> q_ラベル_住所録 q_住所確認テーブル q_入力_住所確認テーブル <フォーム> f_入力_住所確認テーブル ∟コンボボックス(名前)、テキストボックス(住所) とあり、 「q_住所確認テーブル」では、 「t_住所録:名前」=「t_住所確認テーブル:名前」 「t_住所録:住所」=「t_住所確認テーブル:住所」 を、つなげてあります。 フォームの「f_入力_住所確認テーブル」では、コンボボックスをクリックすると名前が選択でき、選択するとその名前の人の住所がテキストボックスに表示されるようにしたいのですがうまくできません。 ネットや書籍などを見ていろいろ試したのですが、ことごとく失敗しています。 「me」とかダメでした。 excelのvbaは経験があるのですが、accessはデータベースを少々編集した程度なので知識は浅いです。 なのでとても初歩的な質問かもしれませんが、どなたかご教授いただけますと幸いです。 とても勝手ながら、すごく急いでいて、どうにかしたいともがいているのですがどうにもならず焦っています。どうぞよろしくお願い致します。
回答: > サンプルコードは「dim cn as new adodb.connection」のところでまずエラーになってしまいます。 エラーは判りますか? ユーザー定義型は定義されていません。 などのエラーでしたら、 icrosoft activex data objects ** library が参照されているか確認ください。 access2010の環境だと、6.1があると思います。 http://www.tsware.jp/tips/tips_334.htm テスト環境で、access2010はあるので動作試験してみましたが、サンプルコードはそのまま動作しましたので、これの参照がクリアできれば動作するかと思います。 idと連携していない件ですが、コンボボックスに名前が出てくるのですから、それでテーブルを検索してこれると思います。 コンボ0.column(n) ←これのnの値を0から増やしてみてください。 どこかで、値としてコンボボックスに表示されているそのものが出てくると思います。 もし、1で名前が出るようなら sql = "select [住所] from [t_住所録] where [名前] = """ & コンボ0.column(1) & """;" として rs.open sql, cn, adopenkeyset, adlockbatchoptimistic へ流せば、結果が返ってきて、 テキスト2.value = rs![住所] で住所が表示されるかと思います。