• ベストアンサー

Accessで、コンボボックスから2つの値を返す方法

Accessで、コンボボックスから2つの値を返すことはできるでしょうか。 たとえば、 名称|CODE1|CODE2 ------------------ いち|11111|AAAAA にい|22222|BBBBB さん|33333|CCCCC というクエリを値集合ソースにしたコンボボックスで、 「いち」の行を選択したら、 CODE1の「11111」をテキストボックスAへ、 CODE2の「AAAAA」をテキストボックスBへ 入れたいのです。 このようなことは可能か不可能か、 もし可能ならどのようにすればいいのか、 教えて頂けないでしょうか。

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

  • ベストアンサー
noname#60992
noname#60992
回答No.3

NO2です テキストボックスAのレコードソースに =[コンボ].[Column](1) テキストボックスBのレコードソースに =[コンボ].[Column](2) とする手がありました。 先ほどの回答はなかったことに、 (できないか)

stolichnaya
質問者

お礼

ぬおおおおおーーーーーー 感動です! しあわせ ありがとうございました!!!

その他の回答 (2)

noname#60992
noname#60992
回答No.2

VBAを使うといってもただの2行ですが、 Private Sub コマンド1_Click() me.テキストA.Value =コンボ.Column(1) me.テキストB.Value =コンボ.Column(2) End Sub VBAを使わないというのはかえって難しくなるかもしれませんが、 まず本当に両方のデータをテキストボックスに入れる必要があるのかを検討されるべきだと思います。 RDB上なので、どこかに格納するために両方のデータを必要としているわけではないと思います。 もしそうならば、データの構造をもうちょっと考えられたほうがよいと思います。  ユーザーが操作上両方のデータを見える状態にしておきたいのであれば、別に3列表示させなくてもクエリなどで表示させたい2列を一列にまとめてそれをコンボボックスのレコードソースとしてしまえばよいと思います。 これからもアクセスを使う機会があるなら少しずつVBAに慣れていかれることをお勧めいたします。   

回答No.1

可能ですよ~ VBAで押下時のイベントに CODE1の「11111」をテキストボックスA CODE2の「AAAAA」をテキストボックスB と連続で書けばOK!

stolichnaya
質問者

補足

ご回答ありがとうございます。 可能な方法があるとわかって安心しました。 ただ、私自身VBAは慣れていないことと、 保守しやすいアプリケーションにしたいため、 なるべくVBAは避けて構築したいと思っています。 VBA以外で可能な方法があれば教えて下さい。

関連するQ&A

  • ACCESS2000でのActiveXのコンボボックスの使い方について

    ACCESS2000で、今まで使用していたコンボボックスをActiveXコントロール(Microsoft Forms2.0)のコンボボックスに変更しようとしています。今までは値集合ソースでクエリを使って「商品名」「商品コード」を表示させ、選択後に商品コードを取得して、他で利用しています。 これをActiveXコントロールでは、どのように行ったらよいのでしょう? アドバイスをどうか、よろしくお願いします。

  • 【Access】コンボボックスの値の変更方法

    フォームにコンボボックスを配置し、下記の動作をさせたいと思ったのですが、1は出来たものの2が出来ませんでした(値集合ソースの中身は表示されるものの、選択してもコンボボックスに反映されませんでした)。 1. フォームオープン・・・データベースのcmb1の値より、対応する文字をコンボボックスに表示する。 2. コンボボックスの値の変更・・・プルダウンから値集合ソースに表示されている任意の値を選択し、コンボボックスに設定する。 その為、どうすれば値を変更できるようになるかアドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 なお、初期状態から下記を変更しております。 【テーブル】 テーブル名:tbl フィールド名:ID,cmb1 値:1,2 【フォーム】 フォーム名:form1(コンボボックスを一つ配置) フォームのレコードソース:SELECT Choose(tbl.cmb1,"A","B","C") AS nm_cmb FROM tbl WHERE (((tbl.ID)=1)); コンボボックス 列数:2 列幅:0cm;3cm コントロールソース:nm_cmb 値集合タイプ:値リスト 値集合ソース:1;A;2;B;3;C 連結列:2 上記の状態で起動時のコンボボックスの中身は"B"と表示されるものの、コンボボックスのプルダウンメニューを表示して値を変更しようとしても出来ない事が確認できると思います。 以上、よろしくお願いします。

  • アクセスのコンボボックスの重複をなくすには?

    初歩的な質問ですいませんが、教えてください。 アクセスの参考書や、初心者向けサイト等を見て、 コンボボックスで値集合タイプが「テーブル/クエリ」のとき値集合ソースの値を重複させないで表示する方法はわかったのですが、どの書籍もコンボボックスが2個までしかのっていないんです。 現在私が作らなければならないのはコンボボックスが6個在るもので2個目以降からどのようにしたらいいかわかりません。 コンボ1で抽出した値をコンボ2で反映させて、さらにコンボ2の値の重複をなくし、さらにコンボ3で反映させて・・・とやっていくにはどうしたらいいのでしょうか。 ちなみに http://www.accessclub.jp/beginer/cd/part_07.htm 上記サイトの方法を参考に作成しています。 よろしくお願いします。

  • コンボボックスの2列目の値を表示させる方法はありま

    アクセス2003です。 コンボボックスの2列目の値を表示させる方法はありますか? テーブル1には ID 会社名 1 山田建設 2 田中株式会社 といれ、 テーブル1をレコードソースとするフォームを作り、コンボボックスを設置し そのコンボボックスのプロパティは 値集合タイプ:テーブル/クエリ 値集合ソース:テーブル1 列数:2 にしました。 この場合、コンボボックスで値を選択した後は、一番左側の数字がコンボボックスに入力されますが 左から2列目の値を表示させる方法はありますか? IDと会社名のフィールドを順番を変えることなく、IDが左、会社名が右にしたいです。 エクセルで例えると http://www.moug.net/tech/exvba/0090021.html と同じようなことをアクセスで行いたいです。 プロパティではなくエクセルのようにVBAで配列を使うしかないのでしょうか?(コードもわかりませんが) よろしくお願い致します。

  • Access コンボボックスについて

    フォーム1の中にコンボボックス1、 検索結果用のサブフォームを作りました。 コンボボックス1は日付抽出用で、 プロパティは 値集合タイプ・・・テーブル/クエリ にしてあり、 2005-01  ・  ・  ・ 2005-12 となります。 「すべて」検索したいときには、どのように設定したら 良いのかを教えていただけないでしょうか? よろしくお願いします

  • コンボボックスの値が消えてしまいます。

    コンボボックスの値が消えてしまいます。 フォーム(1)にコンボボックスA(値集合ソースはテーブル1)があります、この リスト外入力時で別フォーム(2)(レコード追加用)を開きテーブル1にレコードを追加、 フォーム(2)を閉じる時にコンボボックスAをリクエリかけてフォーム(1)に戻るとコンボボックスAが空になっているのでリストを開き選択し直さなければいけません! フォーム(1)に戻った時コンボボックスAに入力した値を選択させておくにはどの様にすれば良いか アドバイスよろしくお願いいたします。 WIN XP ACCESS 2003で作成しています。

  • コンボボックスの先頭行に空白行を入れるには?

    ACCESS2000です。フォームに貼り付けたコンボボックスのプロパティの値集合ソースにクエリを書いて、クエリ実行結果のデータを取得して、コンボボックスの内容としているのですが、先頭行に空白行を挿入して、2行目以降にクエリ実行結果のデータを入れたいのです。どうすればよいのでしょうか?ちなみに列数は4列です。 それから、その空白行に「(指定なし)」のような表示が可能であれば合わせて教えてください。

  • ACCESS2013 コンボボックスの警告について

    (1)コンボボックスに一度値を入力及び選択をして確定する。 (2)再度(1)のコンボボックスの内容を削除して空欄の状態に戻す。 (3)他のフィールド等にカーソル等を移すと、(2)のコンボボックスに対して警告メッセージが出でしまう。 'xxxxトランザクション.xxxxカラム'フィールドに値を入力してください。 上記(3)の警告メッセージが出ないようにしたいのですが どのように対応すればよろしいでしょうか? ※フォームはxxxxトランザクションがデータソース(ダイナセット)になっています。 ※コンボボックスはxxxxマスタテーブルが値集合(テーブル/クエリ)となっています。

  • アクセス2013の値集合ソース内の検索か抜き出し

    アクセス2013のフォームのコンボボックスの『値集合ソース』内に書かれたSQLコードの検索か抜き出しはできませんか。 ※書き方がよくなかったので再投稿しています。 アクセス2013でゴリゴリに作られた画面があります。 そこで使われているテーブルを検索して影響範囲の調査をしたいのですが、検索しても『値集合ソース』内に書かれたSQLコードにはヒットしてくれません。 どの画面とどの画面のどこでそのテーブルが使用されているのかが知りたいですが、 コンボボックスとその『値集合ソース』を多用しているために困っています。 『値集合ソース』内に書かれたSQLコード内のテーブルを検索する方法か、 フォームに書かれた『値集合ソース』のコードをテキストで抜き出す方法はありませんか。

  • [Access2003]コンボボックスのプロパティの「値集合タイプ」について

    [Access2003]コンボボックスのプロパティの「値集合タイプ」について 今、参考書でAccess2003のフォームのコントロールの作成について勉強しています。『コンボボックスのプロパティ』の「すべて」の中の「値集合タイプ」の・・・・ 「テーブル/クエリ」、「値リスト」、「フィールドリスト」は、少しの説明だけで理解できなかったです。 Access初心者なので簡潔に「テーブル/クエリ」、「値リスト」、「フィールドリスト」を教えてくださったら助かります。

専門家に質問してみよう