Как иметь форму refre sh другой формы - PullRequest
0 голосов
/ 03 марта 2020

Итак, у меня есть 4 формы, которые составляют отчеты, даты, местоположение, затраты и материалы. Все эти формы могут открывать 5-ую форму проектов, где вы выбираете, для каких проектов вы хотите создавать отчеты, закрываете, а затем настраиваете отчеты в любой из первых 4 форм, которые вы открыли. Затем вы также можете go перейти к другому из первых 4 и сделать еще один отчет о тех же проектах, которые вы выбрали.

Моя задача - поставить предупреждение о том, что проекты выбраны и сколько. Я сделал это, создав таблицу флагов и метку предупреждения, и при загрузке одной из первых 4 форм он проверит таблицу флагов и сделает предупреждение видимым или нет. Проблема в том, что любая форма, которую я использовал для доступа к проектам, все еще открыта, когда я закрываю проекты, поэтому метка предупреждения не появится, пока форма не будет обновлена ​​/ перезагружена. Как сделать так, чтобы форма проектов определяла, какая форма открыта, и обновляйте ее sh при закрытии проектов?

1 Ответ

1 голос
/ 03 марта 2020

Проверьте, загружена ли каждая форма. Создайте строку для каждой формы, которую нужно проверить.

If CurrentProject.AllForms("formname").IsLoaded Then Forms!formname.Refresh

В качестве альтернативы, когда открывается 5-я форма, передайте ей значение, определяющее, какая форма вызывала ее. Можно использовать аргумент OpenArgs для команды OpenForm, чтобы передать имя формы, а затем использовать свойство OpenArgs 5-й формы, чтобы обновить sh вызывающую форму.

Forms(Me.OpenArgs).Refresh

...