3

私はMSAccessVBAで次のようなコードを書いています。

Private Sub Form_Load()
    MsgBox "loggedIn = " + CStr(loggedIn)
    If (loggedIn = 1) Then
    Else
        Exit Sub
    End If
End Sub

loggedIn変数に基づいてフォームをロードするかどうかを決定したいと思います。loggedIn変数が1の場合、フォームがロードされます。同じものが1でない場合、フォームはロードされません。

私が直面している問題は、上記のコードのELSE部分で何をしても、フォームの読み込みを停止できないことです。

どうすればこれを達成できますか?

追加情報が必要な場合は、plsコメント。

ありがとうございました。

4

1 に答える 1

4

値がフォームオープンで利用可能な場合はloggedIn、フォームオープンイベントをキャンセルできます。

Private Sub Form_Open(Cancel As Integer)
    Cancel = Not (loggedIn = 1)
End Sub

loggedInフォームのロードイベントまでの値が利用できない場合は、フォームを閉じることができます。

Private Sub Form_Load()
    If loggedIn <> 1 Then
        DoCmd.Close acForm, Me.Name
    End If
End Sub
于 2012-11-01T06:55:45.633 に答える