#089 コマンドボタンの使用可否を切り替える方法 フォーム、VBA

ここではコマンドボタンの使用可否を切り替える一例として、テキストボックスに何か値が入力されたら[OK]ボタンを使用可能にするという方法をご紹介します。

次の例では、"txtInputData"という名前のテキストボックスに何らかの値が入力されたら、"cmdOK"という名前のコマンドボタンを使用可能にします。
Private Sub txtInputData_Change()
  If Len(Me!txtInputData.Text) > 0 Then
    Me!cmdOK.Enabled = True
  Else
    Me!cmdOK.Enabled = False
  End If

End Sub
コマンドボタン使用不可の状態 コマンドボタン使用可能の状態
  • このコマンドボタンは、デザインの段階で[使用可能]プロパティを"いいえ"に初期設定しておきます。
  • テキストボックスの内容が変更されたことを検出するために、テキストボックスの[変更時/Change]イベントを利用します。
  • もし、一度入力されたデータがBSキーなどで削除された場合を考慮して、テキストボックスの入力データの長さをチェックします。そして長さがゼロだったらコマンドボタンを使用不可にします。テキストボックスにデータが入力されたかどうかは、[OK]ボタンが押された後の処理でもチェックできますが、入力されていない場合は[OK]ボタンを使えないようにしてしまった方が、確実だと思います。
  • ここでは、テキストボックスに入力完了したデータをチェックするのではなく、編集途中のデータをチェックするので、[Value]プロパティではなく、[Text]プロパティをチェックしなければなりません。[Value]プロパティでは入力途中のデータは調べられません。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved