MS Access: выполнение кода для каждого экземпляра подчиненной формы

У меня есть форма MS Access 2013, содержащая дочернюю форму в дочерней форме (внуке), оба в виде таблицы.

Теперь у меня есть некоторые элементы управления в главной форме, с помощью которых можно фильтровать записи как в дочерней, так и в внучатой ​​форме.

Фильтрация дочерней формы прекрасно работает с

Dim strSQL As String
strSQL = ...
Me!child.Form.RecordSource = strSQL
Me!child.Requery

Но если я хочу настроить фильтры для внука с

Dim strSQL As String
strSQL = ...
Me!child.Form!grandchild.Form.RecordSource = strSQL
Me!child.Form!grandchild.Requery

Я получаю ошибку 2455. С помощью этого вопроса я решил ошибку, расширив одну или несколько строк подчиненной формы.

Но теперь я хочу установить RecordSource для каждой строки внука, в то время как мой текущий код работает только для самой первой строки, независимо от того, какую строку я раскрываю / сворачиваю.

Как мне изменить RecordSource для каждой записи подчиненной формы в моей главной форме, в лучшем случае без расширения какой-либо строки вручную перед фильтрацией?

РЕДАКТИРОВАТЬ: Густав предоставил решение без кода, которое помогло мне. Тем не менее, мне интересно, как вообще изменить свойства формы внука из главной формы для всех случаев.

1 ответ

Решение

Вам не нужно настраивать источник данных.

Отрегулируйте поля ссылки Master/Child элемента управления подчиненного внука, и фильтрация будет автоматической.

Другие вопросы по тегам