ここではコマンドボタンの使用可否を切り替える一例として、テキストボックスに何か値が入力されたら[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]プロパティでは入力途中のデータは調べられません。
|