3

我正在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 部分做什么,我都无法阻止表单加载。

我怎样才能做到这一点?

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

谢谢你。

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 回答