none
Access 2010: Formular öffnet im Hintergrund anstatt im Vordergrund

    Frage

  • Liebe Experten!

    Wir haben seit mehreren Jahren eine Access-Anwendung im Produktionseinsatz, die konzernweit häufig genutzt wird, die ständig weiterentwickelt wird, die bisher stabil und weitgehend problemlos lief. In den letzten Monaten tritt vermehrt der im folgenden beschriebene Fehler auf (häufig aber sporadisch). Da die meisten User nicht in meiner Nähe sind, kann ich ihnen nicht über die Schulter blicken. Ich habe den Fehler jedoch auch bei mir mehrmals gesehen.

    Die Anwendung, ziemlich komplex: Access-Frontend mit ca. 50 Bildschirmformularen, mehreren Backends auf Windows-Netzwerkservern (Die Größe der betroffenen Frontend ist nach Komprimierung ca. 110 MB).

    Der Fehler: Wenn ein zweites Bildschirmformular (nennen wir es Child) von einem ersten (Parent) aufgerufen wird, dann erscheint das aufgerufene nicht im Vordergrund. Sondern es wird unerreichbar vom formatfüllenden Parent verdeckt.

    Um Mehrfach-Threads im Programm zu verhindern, waren sämtliche Masken schon immer auf "popup und modal" gesetzt. Dadurch wird aber leider auch verhindert, dass der User in diesem Fehlerfall das Parentformular schließen kann. Ihm bleibt nur die Taskleiste oder der Taskmanager, was natürlich immer zu Transaktionsstörungen und Datenverlust führt.

    Die Masken:

    1. Beispiel: Aus der Startseite wird die Institutsmaske aufgerufen (die bleibt leider manchmal im Hintergrund).

    Die Startseite: popup nein, gebunden ja (ist die einzige im ganzen System).

    Die Institutsmaske: popup ja, gebunden ja (wie alle anderen auch)

    2. Beispiel: aus der Institutsmaske wird die Vorgangsmaske aufgerufen (nun bleibt die manchmal im Hintergrund).

    Beide Masken sind popup und gebunden.

    Bisherige Abhilfe seitens User (manchmal mit Erfolg): Anklicken des Parent, Anklicken der Taskleiste, Schalten duch die Windows-Tasks mit AltTab. Manchmal wird durch ein solches Reaktivieren die richtige Maske aktiviert.

    Bisherige Versuche von mir (leider ohne Erfolg):

    Im Event Form_Load() des versteckten Formulars

           DoEvents

           DoCmd.SelectObject acForm, Me.Name

           Me.SetFocus

           DoEvents

    Versionen und Umgebung:

    Windows Server 2012

    Citrix

    MS-Office Professional Plus 2010

    Access 14.0.7177.5000 (32 bit)

    Ich würde mich über Hinweise zur Fehlersuche sehr freuen. Denn dieser Zustand ist für meine User untragbar und stellt die ganze Anwendung in Frage.

    Vielen Dank!

    Raimund Gryszik, Berlin 

    Donnerstag, 26. Januar 2017 13:21