我在MS Access VBA中写了一段代码,如下:

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

我想根据 loggedIn 变量决定是否加载表单。如果 loggedIn 变量为 1,则应加载表单。如果相同不为1,则不应加载表单。

我面临的问题是,无论我在上面代码的 ELSE 部分做什么,我都无法阻止加载表单。

我怎样才能做到这一点?

如果需要任何其他信息,请发表评论。

谢谢你。

最佳答案

如果 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

关于forms - MS Access VBA 中的 form_load 子程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13172190/

10-11 07:01