Jak zamrozić formularz nadrzędny, gdy formularz podrzędny jest otwarty
Mam sytuację, w której w pewnych okolicznościach muszę otworzyć inną formę i zachować tę formę skupioną (modal = true), a kiedy nie są i zamykają się, kontrola formularza nadrzędnego jest odświeżana z możliwymi danymi, które mogły ulec zmianie .
Pierwotnie miałem metodę, która by to zrobiłaDoEvents
podczas gdy formularz podrzędny był otwarty, ale powoduje, że kilka formularzy podrzędnych nie nadaje się do użytku (nie były powiązane z danymi na poziomie formularza) do wprowadzania / edycji danych.
Public Sub ShowForm(par As Form, nm As String, _
Optional whr As String = "", _
Optional args As String = "", _
Optional mode As AcFormOpenDataMode = acFormPropertySettings)
DoCmd.OpenForm nm, acNormal, , whr, mode, , args
While IsOpen(nm)
DoEvents
Wend
End Sub
Aby móc konsekwentnie korzystać z formularzy potomnych, musiałem skomentowaćWhile...Wend
pętla.
Czy istnieje inny wzorzec logiczny, którego mógłbym użyć w tej metodzie lub OnClick kontrolki wywołującej, tak aby zamykając formularz podrzędny mógłbym wykonać kod po zamknięciu formularza potomnego?