Access Anfänger: Wie kann ich feststellen ob ein bestimmtes Formular geöffnet ist?

Aus DBWiki
Wechseln zu: Navigation, Suche

Manchmal ist es notwendig im Codeverlauf festzustellen ob zu einem bestimmten Zeitpunkt ein Formular geöffnet ist. Die dazu benötigte Funktion ist relativ einfach und kann in der untenstehenden Version auch mehrmals im gesamten Code verwendet werden, wenn sie in einem Standardmodul verwendet wird.

Public Function fctFormOffen(ByVal strFormName As String) As Boolean
  fctFormOffen = (SysCmd(acSysCmdGetObjectState, acForm, strFormName) = 1)
End Function

So kann an beliebiger Stelle im gesamten Code die Funktion verwendet werden:

If fctFormOffen("Formularname") Then
  'Wenn das Formular geöffnet ist
  'wird '''''True''''' zurückgeliefert
   MsgBox "Formular ist geöffnet"
End If

Eine weitere Möglichkeit stellt der Einsatz der IsLoaded-Eigenschaft eines Formulars dar:

If CurrentProject.AllForms("Formularname").IsLoaded Then
  MsgBox "Formular ist geöffnet"
 Else
  MsgBox "Formular ist nicht geöffnet"
End If