HOME > 即効テクニック > AccessVBA > コントロール > コマンドボタンを使用する

即効テクニック

コントロール

コマンドボタンを使用する

(Access 2000/2002/2003)
●概要●
コマンドボタンは、クリック操作により目的の処理を実行するために使用します。

●操作例1●
コマンドボタンがクリックされるとClickイベントが発生します。そこで、コマンドボタンをクリックしたときに実行する処理は、Clickイベントプロシージャに記述します。
次のコードは、コマンドボタンがクリックされたとき、コンボボックスの値をフィルタ条件として、フォームを開くものです。
●サンプル1●
'Clickイベントハンドラ
Private Sub cmd顧客_Click()
    Dim myCriteria As String
     'フィルタ条件を設定
    myCriteria = "[顧客NO]=" & 顧客NO.Value
     'フォームを開く
    DoCmd.OpenForm "FM_顧客情報", , , myCriteria
End Sub
●操作例2●
コマンドボタンは、Enabledプロパティによって有効と無効を設定できます。
EnabledプロパティがTrueに設定されている場合は有効、Falseに設定されている場合は無効です。
次のコードは、コンボボックスの入力の有無によって、コマンドボタンの有効と無効を切り替えるものです。コンボボックスのAfterUpdate(更新後処理)イベントプロシージャに、コンボボックスが入力済みなら[受注フォームへ]ボタンを有効にし、入力がなければ[受注フォームへ]ボタンを無効にしています。
●サンプル2●
'コマンドボタンの有効と無効を切り替える
Private Sub 顧客NO_AfterUpdate()
    cmd顧客.Enabled = Not IsNull(顧客NO)
End Sub
●補足●
コンボボックスにキーボードから入力や削除を行う場合は、[Enter]キーで確定したあとにAfterUpdateイベントが発生します。

●操作例3●
フォームには、既定のボタンとキャンセルボタンをそれぞれ1つずつ設定することができます。
既定のボタンは、フォーカスがない状態でも、[Enter]キーを押すことによってClickイベントプロシージャを実行できます。ただし、他のコマンドボタンにフォーカスがある場合は、そのコマンドボタンのClickイベントプロシージャが実行されます。
キャンセルボタンは、[Esc]キーを押すことによって、Clickイベントプロシージャが実行されます。
次のコードは、フォームを開く時に、既定のボタンとキャンセルボタンを設定するものです。

●サンプル3●
'既定のボタンとキャンセルのボタンを設定する
Private Sub Form_Load()
   '既定のボタンに設定
    Me.cmd受注伝票.Default = True
   'キャンセルボタンに設定
    Me.cmdクリア.Cancel = True
End Sub