2010年5月17日星期一

ACCESS窗体打开时检测其它窗体是否有打开

ACCESS窗体打开时检测其它窗体是否有打开

公用模块:

Function IsLoaded(ByVal strFormName As String) As Integer
' Returns True if the specified form is open in Form view or Datasheet view.

Const conObjStateClosed = 0
Const conDesignView = 0

If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then
If Forms(strFormName).CurrentView <> conDesignView Then
IsLoaded = True
End If
End If

End Function

调用:

Private Sub Form_Open(Cancel As Integer)
If Not IsLoaded("main") Then
MsgBox "
请从主面板登陆", vbCritical, "系统提示"
Cancel = True
End If
End Sub