Forms![Home]![Name_of_subform_control_on_Home_form].Requery
или (альтернативный синтаксис):
Forms("Home")("Name_of_subform_control_on_Home_form").Requery
Некоторые уточнения:
- В Access вложенные подчиненные формы всегда помещаются в элемент управления подчиненной формы.
Если вы хотите получить доступ к подчиненной форме программным способом, вам нужно использовать имя элемента управления subform , а не имя самой вложенной подчиненной формы!
- Не имеет значения, находится ли подчиненный элемент управления непосредственно в форме
Home
или в элементе управления с вкладками. Вы всегда используете имена формы и элемента управления подчиненной формы, вам не нужно имя элемента управления вкладкой.
Решение еще короче, когда код, выполняющий обновление, находится непосредственно в форме Home
:
Me.Name_of_subform_control_on_Home_form.Requery
EDIT:
Я только что заметил, что я использовал Requery
вместо Refresh
в своем ответе (вероятно, потому что я прочитал ответ ChrisPadgham раньше, где он предлагает использовать Requery
).
Вы можете вызывать Requery
и Refresh
, используя синтаксис, показанный выше.
Какой из них использовать, зависит от того, что вы хотите сделать:
- Используйте
Requery
, если вы хотите повторно загрузить источник данных формы
- Используйте
Refresh
, если вы хотите заново загрузить саму форму, то есть обновить элементы управления