Accessのフォームで1つ目のコンボボックスで選択した値によって、次のテキストボックスの使用を有効にしたり、無効にしたりする方法です。
たとえば、下のようなフォームで[選択1]で[はい]、[いいえ]の中から[はい]を選択したら、次のテキストボックスへ入力ができ、[いいえ]を選択したら使用できないようにする方法です。
参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
フォームにコンボボックスを作成
フォームに非連結のコンボボックスを作成します。
テキストボックスをコンボボックスへ変更
[デザイン]タブのコントロール]グループの[コンボボックス]を選択して作成できますが、先にテキストボックスを挿入していても、コンボボックスに変更することができます。
テキストボックスで右クリックして、ショートカットメニューから[コントロールの種類の変更]-[コンボボックス]をクリックします。
プロパティの設定
変更したコンボボックスのプロパティを表示します。
[F4]キーを押すと、プロパティの表示/非表示を切り替えられます。
[データ]タブで以下の設定をします。
[値集合タイプ]は、[値リスト]を選択します。
[値集合ソース]で[はい;いいえ]と入力します。
[既定値]は、["はい"]と入力するとフォームを表示したときに[はい]が選択された表示になります。
ここでは、空白のままにします。
[値リストの編集の許可]は、[いいえ]を選択します。[はい]にすると、誰もがリストの編集ができるようになります。
コンボボックスの設定については、以下の記事で詳しく解説しています。
-
コンボボックスとリストボックスのカスタマイズ(プロパティの設定)
フォームにコンボボックスやリストボックスを使用すると、一覧のリストの中から選択できるようになります。 作成方法はいくつかありますが、コンボボ ...
デザインビューをフォームビューに切り替えて、コンボボックスの動作を確認します。
デザインビューからフォームビューに切り替えるには、キーボードから[F5]キーを使用すると効率的です。
次に選択するテキストボックスの名前は[テキスト2]です。
参考コンボボックスの[入力チェック]の設定については、以下の記事で解説しています。
-
コンボボックスにリスト以外の値が入力されないようにするには
テーブルやフォームでコンボボックスのリストから値を選択して入力するようにしていても、プロパティの[入力チェック]を[いいえ]に設定していると ...
プロパティの[更新後処理]で設定
マクロビルダーか、コードビルダーを選択して設定します。
どちらで設定しても構いません。
マクロビルダーで設定
[テキスト0]の[プロパティ]の[イベント]タブにある[更新後処理]の[ビルダー選択]ボタン[…]をクリックします。
[ビルダーの選択]から[マクロビルダー]を選択して[OK]ボタンをクリックします。
[新しいアクションの追加]の▼ボタンをクリックして、[If]を選択します。
[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。
以下のように入力します。
[テキスト0].value="はい"
次の[新しいアクションの追加]の▼ボタンをクリックして、[プロパティの設定]を選択します。
[コントロール名]に[テキスト2]と入力、[プロパティ]は▼ボタンをクリックして、メニューから[使用可能]を選択します。
[値]には[true]と入力します。
[Elseの追加]をクリックします。
[新しいアクションの追加]で[プロパティの設定]を選択します。
[コントロール名]に[テキスト2]と入力、[プロパティ]は▼ボタンをクリックして、メニューから[使用可能]を選択します。
[値]には[false]と入力します。
マクロアクションが以下のようになったら、上書き保存して閉じます。
プロパティの[更新後処理]には、[埋め込みマクロ]と表示されます。
コードビルダーで設定
[テキスト0]の[プロパティ]の[イベント]タブにある[更新後処理]の[ビルダー選択]ボタン[…]をクリックします。
[ビルダーの選択]から[コードビルダー]を選択して[OK]ボタンをクリックします。
VBEのコードウィンドウに下のように入力します。
If テキスト0.Value = "はい" Then
テキスト2.Enabled = True
Else
テキスト2.Enabled = False
End If
プロパティの[更新後処理]には、[イベントプロシージャ]と表示されます。
フォームビューで確認します。
[選択1]で[いいえ]を選択すると、[選択2]のテキストボックスは使用不可になります。
参考条件付き書式で使用可/不可に設定する方法も解説しています。
-
チェックをオンにしてテキストボックスを使用不可にする(条件付き書式)
Accessのフォームでチェックボックスをオンにすると、指定したコントロールを使用不可にする方法です。 条件付き書式の数式を使用して、条件が ...
コマンドボタンでコントロールの表示と非表示を切り替える方法も解説しています。
-
コマンドボタンでコントロールの表示と非表示を切り替える
Accessではフォームにボタンを設置して、クリックしてフォームやレポートの表示を実行することが多いです。 2個のボタンを設置して同じレポー ...
以下の記事では、コンボボックスの値集合ソースをボタンで切り替える方法を解説しています。
-
コンボボックスに表示するリスト(値集合ソース)をボタンで切り替え
Accessのフォームでコンボボックスの値集合ソースをボタンで切り替える方法です。 下のようなフォームを作成しています。 [日本食]ボタンを ...