HOME > 即効テクニック > AccessVBA > フォーム・レポート > フォームを開く操作をキャンセルする

即効テクニック

フォーム・レポート

フォームを開く操作をキャンセルする

(Access 2000/2002/2003)
● 概要 ●
フォームのOpenイベントは、フォームを開く操作をしたとき、最初のレコードが表示される前に発生します。イベントプロシージャは、OnOpen/開く時プロパティに設定します。
Openイベントプロシージャの引数にTrueを設定すると、Openイベントをキャンセルすることができます。
次のコードは、フォームのOpenイベントプロシージャです。フォームを開くときにパスワードを確認し、パスワードが間違っていた場合、引数にTrueを設定して、Openイベントをキャンセルするものです。パスワードが正しければ、フォームを開きます。ここでは、パスワードとして「password」と比較しています。


● サンプル ●
'フォームを開く操作をキャンセルする
Private Sub Form_Open(Cancel As Integer)
    Dim myPassWord As String
    'パスワードを確認する
    myPassWord = InputBox("パスワードを入力してください")
    '入力されたパスワードが違っていた場合
    If myPassWord <> "password" Then
        MsgBox "パスワードが違います", vbCritical
        'フォームを開く操作をキャンセルする
        Cancel = True
    End If
End Sub


● 実行結果 ●
インプットボックスに「password」以外の文字列を入力した場合、フォームは開きません。「password」と入力した場合は、フォームが開きます。