- ベストアンサー
テキストボックスによりリストボックスの内容を変える
- Accessのフォームで顧客管理画面を作成し、テキストボックスによりリストボックスの内容を変えたいです。
- ボタン【日本】【アメリカ】【イギリス】を作成し、それぞれのボタンをクリックすると、テキストボックス1が【日本】【アメリカ】【イギリス】と内容が変化するようにしたいです。
- また、テキストボックス1の値に応じて「新規登録」ボタンをクリックすると、コンボボックス1に該当する国名が表示されるようにしたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
コンボボックスにどのようにデータが設定 してあるのか不明ですが、一応、コンボボックスの 「値集合タイプ」が「値リスト」、「値集合ソース」に 「"日本";"アメリカ";"イギリス"」のように設定 してあるものとします。このあたりが違っていたら 補足してください。 >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に「カナダ」といれても何も表示されません。
お礼
つたない質問でありながら丁寧にお教えいただきありがとうございました! いただいたコードを書いてみたところ理想の動作ができました!大変うれしいです! ありがとうございました!