判断一个窗体是否打开,我们可以用SysCmd的cSysCmdGetObjectState来进行判断,同样也可以用来对表、查询、报表进行判断,函数如下:
Function IsOpen(ObjName As String, ObjType As AcObjectType) As Boolean
If SysCmd(acSysCmdGetObjectState, ObjType, ObjName) = 0 Then
IsOpen = False
Else
IsOpen = True
End If
End Function
'-用法:
If IsOpen("查询2", acQuery) Then
MsgBox "查询2已打经打开"
Else
DoCmd.OpenQuery "查询2"
End If