• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2007でプルダウンメニューを使う時のVBAの組み方、プロ)

Access2007でのVBAを使ったプルダウンメニューの設定方法とは?

このQ&Aのポイント
  • Access2007でのVBAを使用してプルダウンメニューを設定する方法について教えてください。
  • 具体的には、受付内容としてプルダウンメニューを作成し、選択に応じて他のテキストボックスの表示・非表示を切り替えたいです。
  • どのようにVBAコードを組むと、入力不要なテキストボックスを制御できるでしょうか?

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

フォームの構成/操作等はどうなっているのでしょうか。 これらは連結でのことになりますか? 入会であれば新規登録?、退会であれば(修正)更新? 特に(修正)更新の場合、 いじれなくてもその情報を表示しておきたいことがある、と思います。 条件付き書式を使って、有効/無効を設定した方が楽かもしれません。 設定は、例えば「退会日」では、 条件を「式」にして、右の欄に [受付内容]<>"退会" として無効を設定します。 「受付日」「入会開始日」も同様に、じゃない時を無効にするように設定します。 フォームの構成/操作等がわからないので、こんな感じでもできるということで。 ただ、 "退会"を選んで「退会日」入力し、確定前に、続けて"再入会"に変更して・・・ ができるのなら、受付内容のクリック時や、 フォームの更新前処理でいろいろチェックしないといけないと思います。

その他の回答 (1)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> プルダウンメニューで選択する度に、テキストボックスを > 表示・非表示になるようにしたい 表示・非表示の切替には「Visible」プロパティ、使用可否の 切替には「Enabled」プロパティで、それぞれ対応できます。 具体的には、以下のようなコードでいけると思います。 なお、「プルダウンメニュー」というのがAccessで標準組込の 『コンボボックス』のもので、そのコンボボックスの連結値 (記録値)が、選択したテキストそのものになっている前提と しました。 (Accessのコンボボックスでは、表示列と連結列をそれぞれ  別のデータにすることができます(参考まで)) Private Sub 受付内容_AfterUpdate()   '各テキストボックスの使用可否を記録するための変数   Dim visEntry As Boolean, visRsgn As Boolean, visOldID As Boolean   '受付内容での選択値に合わせて、プロパティの値を設定   Select Case 受付内容     Case "入会"       visEntry = True   '受付日の表示/非表示       visRsgn = False   '退会日の表示/非表示       visOldID = False   '旧会員IDの表示/非表示     Case "再入会"       visEntry = True       visRsgn = False       visOldID = True     Case "退会"       visEntry = False       visRsgn = True       visOldID = False   End Select   '上で決定した値を実際にコントロールに適用   Me!受付日.Visible = visEntry   Me!退会日.Visible = visRsgn   Me!旧会員ID.Visible = visOldID   '表示したテキストボックスにフォーカスを移動する   '場合は、以下の各行の先頭の「'」を削除して下さい。   'Select Case True   '  Case visEntry   '    Me!受付日.SetFocus   '  Case visRsgn   '    Me!退会日.SetFocus   'End Select End Sub ・・・以上です。 なお、表示/非表示よりも使用可否の方がいい、という場合は、 上記の「.Visible」を「.Enabled」に書き換えればOKです。

関連するQ&A