人に聞けない痔の悩み、これでスッキリ >>

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

ご教授お願いいたします!

このQ&Aに関連する最新のQ&A

A 回答 (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に「カナダ」といれても何も表示されません。
    • good
    • 0
この回答へのお礼

つたない質問でありながら丁寧にお教えいただきありがとうございました!
いただいたコードを書いてみたところ理想の動作ができました!大変うれしいです!
ありがとうございました!

お礼日時:2013/11/13 10:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング