Windows 8 & Office 2013 Access 2013

値によってテキストボックスの使用可と使用不可を切り替える

投稿日:2017年1月7日 更新日:

Accessのフォームで1つ目のコンボボックスで選択した値によって、次のテキストボックスの使用を有効にしたり、無効にしたりする方法です。

たとえば、下のようなフォームで[選択1]で[はい]、[いいえ]の中から[はい]を選択したら、次のテキストボックスへ入力ができ、[いいえ]を選択したら使用できないようにする方法です。

コンボボックスの値で使用不可の設定

参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。従来からAccessを使用している方に ...

続きを見る

フォームにコンボボックスを作成

フォームに非連結のコンボボックスを作成します。

テキストボックスをコンボボックスへ変更

[デザイン]タブのコントロール]グループの[コンボボックス]を選択して作成できますが、先にテキストボックスを挿入していても、コンボボックスに変更することができます。

テキストボックスで右クリックして、ショートカットメニューから[コントロールの種類の変更]-[コンボボックス]をクリックします。

コントロールの種類の変更-コンボボックス

プロパティの設定

変更したコンボボックスのプロパティを表示します。

[F4]キーを押すと、プロパティの表示/非表示を切り替えられます。

[データ]タブで以下の設定をします。

値集合タイプ]は、[値リスト]を選択します。

値集合ソース]で[はい;いいえ]と入力します。

[既定値]は、["はい"]と入力するとフォームを表示したときに[はい]が選択された表示になります。

ここでは、空白のままにします。

値リストの編集の許可]は、[いいえ]を選択します。[はい]にすると、誰もがリストの編集ができるようになります。

コンボボックスの設定については、以下の記事を参照してください。

ルックアップウィザードを使用してドロップダウンリストを設定(値を直接入力)

テーブルのデータ型には、[ルックアップウィザード]というのがあります。 ルックアップウィザードを選択して、ウィザードに従って設定していくと、 ...

続きを見る

コンボボックスのプロパティ

デザインビューをフォームビューに切り替えて、コンボボックスの動作を確認します。

[F5]キーを使用すると効率的です。

次に選択するテキストボックスの名前は[テキスト2]です。

非連結のテキストボックス[テキスト2]

プロパティの[更新後処理]で設定

マクロビルダーか、コードビルダーを選択して設定します。

どちらで設定しても構いません。

マクロビルダーで設定

[テキスト0]の[プロパティ]の[イベント]タブにある[更新後処理]の[…]をクリックします。

[ビルダーの選択]から[マクロビルダー]を選択して[OK]ボタンをクリックします。

更新後処理-ビルダーの選択-マクロビルダー

[新しいアクションの追加]の▼ボタンをクリックして、[If]を選択します。

新しいアクションの追加-[If]を選択

以下のように入力します。

[テキスト0].value="はい"

テキストボックスに入力

次の[新しいアクションの追加]の▼ボタンをクリックして、[プロパティの設定]を選択します。

[新しいアクションの追加]-[プロパティの設定]

[コントロール名]に[テキスト2]と入力、[プロパティ]は▼ボタンをクリックして、メニューから[使用可能]を選択します。

[値]には[true]と入力します。

[プロパティの設定]に入力

[Elseの追加]をクリックします。

[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のフォームでコンボボックスの値集合ソースをボタンで切り替える方法です。 下のようなフォームを作成しています。 [日本食]ボタンを ...

続きを見る

バージョンの確認

他の記事も検索してみませんか?

もっと理解したいあなたへ

おすすめ記事と広告

Profile

執筆者/はま

-Windows 8 & Office 2013 Access 2013

Copyright © 2001-2021 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2021 AllRights Reserved Powered by AFFINGER4.