見出し画像

【ACCESS コントロール】コマンドボタン

コマンドボタンとは

Access フォームのコマンド ボタンを使用して、アクションまたは一連のアクションを開始することができます。 たとえば、別のフォームを開くコマンド ボタンを作成することができます。

メニュー画面に配置

よく使われる方法は

システムのメニュー画面です
図のように 社員管理メニューに コマンドボタンが設置され
別のフォームを開くというアクションを設定しています

また CLOSE のコマンドボタンには このシステムを終了するというアクションが設定されています

どちらも クリック時イベントに

フォームを開くコマンドボタンクリック時イベント
DoCmd.OpenForm "F_staff"
システムを終了するコマンドボタンクリック時イベント
DoCmd. Quit
(フォームを閉じる場合)
DoCmd. Close

コマンドボタン こんなこともできます

① 入力された値を取得する
② 標題の切り替えと使用の可否

① 入力された値を取得する

上のテキストボックスに 文字を入力して
コマンドボタンをクリックしたら
下のテキストボックスに 上で入力した文字を 表示しています

コマンドボタンのクリック時イベント

Private Sub cmd_exe_Click()
    Me.txt_input.SetFocus
    Me.txt_output = Me.txt_input
End Sub

Me.txt_input.SetFocus
テキストボックスにフォーカスを移動します
Me.txt_output = Me.txt_input
下のテキストボックスに 上のテキストボックスの値を代入しています

② 標題の切り替えと使用の可否

パスワードを設定するシーンでは
何文字以上でなければ 登録できないという場合がよくあります
テキストボックスに入力した文字数が8文字以上の場合
コマンドボタンが使用可能となるというものです

8文字未満の場合

テキストボックスの更新後 
「8文字以上 入力してください」とメッセージが表示され
コマンドボタンは使用できない状態です

8文字以上入力されている場合

コマンドボタンのキャプションに 「OK」と表示され

OKコマンドボタンを押すと 「コマンドボタンが押されました」をメッセージが表示されました

つまり 8文字未満で コマンドボタンが使用不可となりキャプションもクリアになります
8文字以上の場合 コマンドボタンにキャプション「OK」を表示し 使用可能となります

VBAコード
フォーム 読み込み時

Private Sub Form_Load()
    Me.cmd_exe.Caption = ""
    Me.cmd_exe.Enabled = False
    Me.txt_input.Value = ""
End Sub

Me.cmd_exe.Caption = ""
コマンドボタンのキャプションを空欄にする
Me.cmd_exe.Enabled = False
コマンドボタンを使用不可にする
Me.txt_input.Value = ""
テキストボックスをクリアにする

テキストボックス 更新後処理

Private Sub txt_input_AfterUpdate()

    If Len(Me.txt_input.Text) >= 8 Then
    
        Me.cmd_exe.Caption = "OK"
        Me.cmd_exe.Enabled = True
    Else
        MsgBox "8文字以上 入力してください"
        Me.cmd_exe.Caption = ""
        Me.cmd_exe.Enabled = False
    End If

End Sub

If Len(Me.txt_input.Text) >= 8 Then
入力された値の文字数が 8文字以上か判定し そうならば
Me.cmd_exe.Caption = "OK"
コマンドボタンのキャプションを『OK』にする
Me.cmd_exe.Enabled = True
コマンドボタンを使用可能にする
Else
8文字以上でなければ
MsgBox "8文字以上 入力してください"
メッセージ『8文字以上 入力してください』と表示する
Me.cmd_exe.Caption = ""
Me.cmd_exe.Enabled = False

コマンドボックスのキャプションを空欄にし 使用不可とする

まとめ

コマンドボタンは Access のシステムにおいて
最も使われる便利なコントロールのひとつです
フォームやレポートを開いたり
クエリを実行したり
また 判断をともなう条件分岐などのアクションなど
あらゆる場面で利用することができます
ほかのコントロールと合わせて使用することで
また さらに複雑な処理をおこなうことができます
もっともっと 深掘りしていきたいですね

いいなと思ったら応援しよう!