質問: テキストボックスによりリストボックスの内容を変える accessのフォームで顧客管理画面を作成しています。 ボタン【日本】【アメリカ】【イギリス】を作成し、 それぞれのボタンをクリックすると、テキストボックス1が 【日本】【アメリカ】【イギリス】 と内容が変化するように作成しました。 また別に「新規登録」ボタンと「国名」コンボボックス1を配置しました。 テキストボックス1が”日本”の時に「新規登録」ボタンをクリックすると コンボボックス1が”日本"と、 テキストボックス1が”アメリカ”の時に「新規登録」ボタンをクリックすると コンボボックス1が”アメリカ"と表示されるようにしたいです。 どのようにコードを書けばいいでしょうか? ちなみに新規登録のコードは以下です。 on error goto err_c新規登録_click docmd.gotorecord , , acnewrec exit_c新規登録_click: exit sub err_c新規登録_click: msgbox err.description resume exit_c新規登録_click ご教授お願いいたします!
回答: コンボボックスにどのようにデータが設定 してあるのか不明ですが、一応、コンボボックスの 「値集合タイプ」が「値リスト」、「値集合ソース」に 「"日本";"アメリカ";"イギリス"」のように設定 してあるものとします。このあたりが違っていたら 補足してください。 >docmd.gotorecord , , acnewrec があるのがよくわからないのですが・・・ フォームにレコードソースにテーブルが設定されているのですかね。 とりあえず、以下のように設定してみてください。 'これを変数の宣言に追加 dim i as long on error goto err_c新規登録_click docmd.gotorecord , , acnewrec '##### ここから #### for i = 0 to me!コンボボックス1.listcount - 1 if me!コンボボックス1.itemdata(i) = me!テキストボックス1 then me!コンボボックス1.value = me!コンボボックス1.itemdata(i) exit for end if next i '##### ここまで追加 ##### exit_c新規登録_click: exit sub err_c新規登録_click: msgbox err.description resume exit_c新規登録_click これは、テキストボックスのデータとコンボボックスに 設定してあるデータが同じならばそれを表示、コンボボックスの データになければ何も表示しない、というようになっています。 たとえば、テキストボックス1に「カナダ」といれても何も表示されません。