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 элемента управления подчиненного внука, и фильтрация будет автоматической.