Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: oliver1974 am März 07, 2022, 14:46:31

Titel: Formular soll nach öffnen ein anderes öffnen und das neue im Vordergrund lassen
Beitrag von: oliver1974 am März 07, 2022, 14:46:31
Hallo,

vermeintlich simple Frage aber ich zerbreche mir gerade hier den Kopf..

Ein Formular soll ganz stumpf - nachdem es das erste mal angezeigt - wird ein anderes Formular öffnen.


Das klappt auch mit dem üblichen DoCmd.OpenForm (..) , aber egal bei welchem Event des aufrufenden Formulars ich diese Aktion definiere, es lädt erst die zweite Form, dann sich selber und überlagert damit vom Fokus (und Z-Reihenfolge) das Formular, was es selber gerade aufgerufen hat.

Sprich, jedes Event was ich so ausprobierte scheint noch vor dem Abschluss der Darstellung des Formulars zu erfolgen, so dass das DoCmd.OpenForm VORHER kommt und erst DANACH rendert sich das Fenster, was gerade den Code ausführte, selber.. und "drängelt" sich so in den Vordergrund.

Wo habe ich den Gedankenfehler?
Titel: Re: Formular soll nach öffnen ein anderes öffnen und das neue im Vordergrund lassen
Beitrag von: DF6GL am März 07, 2022, 15:18:35
Hallo,

ZitatEin Formular soll ganz stumpf - nachdem es das erste mal angezeigt - wird ein anderes Formular öffnen.


muss man das verstehen?


ZitatWo habe ich den Gedankenfehler?

nirgends.



Open, Load, Laden eines UFOs  passieren immer vor der Anzeige des Forms.
Titel: Re: Formular soll nach öffnen ein anderes öffnen und das neue im Vordergrund lassen
Beitrag von: oliver1974 am März 07, 2022, 15:52:34
Zitat von: DF6GL am März 07, 2022, 15:18:35muss man das verstehen?


Okay, dann anders.. Form1 lädt sich, soll dann Form2 öffnen, Form2 soll im Vordergrund sein.

Form2 ist bei mir aber jedes mal hinter Form1.

So besser? :)
Titel: Re: Formular soll nach öffnen ein anderes öffnen und das neue im Vordergrund lassen
Beitrag von: DF6GL am März 07, 2022, 16:04:00
Hallo,

und wie stellst Du das Laden der Forms an?

Code ?  Ereignis?
Titel: Re: Formular soll nach öffnen ein anderes öffnen und das neue im Vordergrund lassen
Beitrag von: oliver1974 am März 07, 2022, 16:18:53
Zitat von: DF6GL am März 07, 2022, 16:04:00Hallo,

und wie stellst Du das Laden der Forms an?

Code ?  Ereignis?


Wie oben im ersten Post beschrieben. :)

Ganz normales DoCmd.OpenForm "Form2" (sinngemäß, Form heißt anders aber egal, OpenForm halt ohne weitere Parameter außer Form-Name).

Passiert Im Code der Form1 die die andere (Form2) aufrufen soll, als Ereignis habe ich in Form1 versucht Current, OnLoad, Activate... Ergebnis immer dasselbe, Form2 lädt zwar problemlos, hängt dann aber HINTER der Form1 von der es aufgerufen wird.

Titel: Re: Formular soll nach öffnen ein anderes öffnen und das neue im Vordergrund lassen
Beitrag von: Beaker s.a. am März 07, 2022, 17:54:50
Hallo Oliver,
Das liegt daran, dass das Form1 zum Zeitpunkt des Ausrufs noch nicht
vollständig geladen ist.
Lösung, - öffne das Form2 zeitversetzt
(in Form1)
Private Sub Form_Open(Cancel As Integer)
    Me.TimerInterval = 5000
End Sub

Private Sub Form_Timer()
    DoCmd.OpenForm FormName:="Form2"
    Me.TimerInterval = 0
End Sub
gruss ekkehard
Titel: Re: Formular soll nach öffnen ein anderes öffnen und das neue im Vordergrund lassen
Beitrag von: ebs17 am März 07, 2022, 20:30:20
Form A sollte nicht im Dialogmodus geöffnet sein, denn der hat nun gerade das Vornesein im Programm.

Form B als PopUp-Formular ausführen.
Titel: Re: Formular soll nach öffnen ein anderes öffnen und das neue im Vordergrund lassen
Beitrag von: oliver1974 am März 08, 2022, 08:20:57
Hallo,

Zitat von: Beaker s.a. am März 07, 2022, 17:54:50Hallo Oliver,
Das liegt daran, dass das Form1 zum Zeitpunkt des Ausrufs noch nicht
vollständig geladen ist.
Lösung, - öffne das Form2 zeitversetzt


Ja, dass Form1 nicht vollständig geladen ist, ist mir klar, kann man auch schön nachverfolgen.
Das mit dem Timer schwebte mir auch vor, aber ich hatte bisher davon Abstand genommen weil mir das etwas hemdsärmelig erschien, aber zur Not werde ich das machen, danke!


Zitat von: ebs17 am März 07, 2022, 20:30:20Form A sollte nicht im Dialogmodus geöffnet sein, denn der hat nun gerade das Vornesein im Programm.

Form B als PopUp-Formular ausführen.

Danke, habe ich probiert, aber egal ob Form A "Dialog" ist oder einer der anderen Modi (z.B. "dünn", "veränderbar") es ändert sich bei mir nichts im Verhalten.

Ist jetzt auch nicht alles so dramatisch für mich aktuell, aber ich würde es gerne verstehen wollen zumal das etwas ist, was man doch eventuell schon mal hin  und wieder brauchen könnte.