Is a form open?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have a few queries and macros that will fail if a few of my forms are open
when I run them.

How can I tell if they are open?

Have tried to use IsOpen with no success.
 
I have a few queries and macros that will fail if a few of my forms are open
when I run them.

How can I tell if they are open?

Have tried to use IsOpen with no success.

What version of Access?
Access 2000 or newer?

If Not CurrentProject.AllForms("FormA").IsLoaded Then
' It's NOT open. Do something here
Else
' It IS open. Do something else
End If

In Access 97, copy this function (from the Northwind.mdb sample
database) into a module:

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

Then code some event:
If Not IsLoaded("FormA") Then
' It's NOT open. Do this
Else
' It IS open. Do that
End if
 
Using Access 2003. Thanks for the help

fredg said:
What version of Access?
Access 2000 or newer?

If Not CurrentProject.AllForms("FormA").IsLoaded Then
' It's NOT open. Do something here
Else
' It IS open. Do something else
End If

In Access 97, copy this function (from the Northwind.mdb sample
database) into a module:

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

Then code some event:
If Not IsLoaded("FormA") Then
' It's NOT open. Do this
Else
' It IS open. Do that
End if
 
Back
Top