Hallo Leute,
wie kann ich erkennen ob in Ac 2010 ein Formular ausgeblendet geöffnet ist?
In Ac 2003 konnte man es über der Menüleiste / Fenster / Einblenden
Im vorraus besten Dank.
Hi,
vielleicht hilft:
If SysCmd(acSysCmdGetObjectState, acForm, "Name von Deinem Formular") > 0 Then ' Formular ist geladen
Harald
Danke, aber wenn ich nicht weiß, welches Formular geöffnet ist, kann ich mit der Prozedur nichts anfangen. Ich verstehe nicht das ms den zugang zum ausgeblendeten Formular über Menü - Fenster - Einblenden bzw Ausblenden nicht mehr hat.
Hat jemand noch eine Idee?
Hallo,
in einer vernünftigen Formular-Ablaufsteuerung ist es nicht nötig, solche "Fragen zu stellen"...
Du kannst die Allforms-Auflistung durchlaufen und deren IsLoaded-Eigenschaft checken....
ZitatIch verstehe nicht das ms den zugang ...
Ribbons statt Menüs, Navigationsleiste statt Datenbankfenster - durch anderes Aussehen verändert sich manches, muss aber nicht verschwunden sein:
=> Navigationsleiste, Rechtsklick auf "alle Objekte", Navigationsoptionen
Hallo ebs17,
das hatte ich schon gefunden und Ausgeblendete Objekte anzeigen angewäht.
Wo aber sehe ich dann ob ein Formular ausgeblendet geöffnet ist??
Gar nicht. Das gab es aber auch noch nie.
"Sehen" kann man. wenn man wie bereits gezeigt prüft (per VBA) und sich das Ergebnis der Prüfung visualisiert.
Auch: Geöffnete Formulare wie auch immer fallen nicht vom Himmel, sondern irgendwelche Aktionen müssen vorangegangen sein. Auch wird der Kreis der Formulare, die ausgeblendet geöffnet werden, sehr begrenzt sein - Bedienoberfläche sollte ja wohl sichtbar sein.
Zusammengefasst: Mit etwas Kenntnis des Programms sollte sich die Prüfung von "allen" Formularen sehr begrenzen lassen.
Besten Dank erst mal.
Aber zum Thema "gab es noch nie!" Schau bitte im Anhang.
Das Formular Stammdaten ist ausgeblendet und kann über das Fenster wieder eingeblendet werden.
Hallo,
siehe Bild.
Weiterhin mit VBA (ohne Errorhandler):
' Mit der Allforms-Auflistung
Function fktListHiddenForms1() As String
Dim frm As Form, itm As Object, strForms As String
For Each itm In CurrentProject.AllForms
If itm.IsLoaded Then
Set frm = Forms(itm.Name)
If Not frm.Visible Then
strForms = strForms & ";" & itm.Name
End If
End If
Next
If Len(strForms) Then fktListHiddenForms = Mid(strForms, 2)
End Function
Mit der Forms_Auflistung
Function fktListHiddenForms2()
Dim frm As Form, itm As Object, strForms As String
For Each itm In Forms
Set frm = Forms(itm.Name)
If Not frm.Visible Then
strForms = strForms & ";" & itm.Name
End If
Next
If Len(strForms) Then fktListHiddenForms2 = Mid(strForms, 2)
End Function
Super, Besten Dank, wäre ich nie drauf gekommen.