В Access 2003 у меня есть форма с таблицей данных и встроенной таблицей данных.Я хотел бы применить фильтры к основным и вспомогательным таблицам.Сначала я строю строку фильтра для основной таблицы данных strWhere
, а для вспомогательной таблицы данных sdsWhere
.Затем, из объекта From основного списка данных, я установил .filter=strWhere
.Затем я установил фильтр в объекте формы под-таблицы.В основном:
With Me.Controls(dataSheetName).Form
.Filter = strWhere
.FilterOn = True
With .Controls(subsheetname).Form
.Filter = sdsWhere
.FilterOn = True
End with
End with
Проблема заключается в том, что вложенная таблица фильтруется только для первой записи основной таблицы.Если посмотреть на RecordSet вложенной таблицы данных, он содержит только дочерние записи первой записи в основной таблице данных.Я не могу найти другие записи нигде.
Я знаю, что должна быть возможность отфильтровать все записи вложенных таблиц, потому что в интерфейсе Access установка курсора на нужное значение и выбор записей >> Фильтр по выбору дает желаемый эффект.(За исключением того, что записи в основной форме с пустыми вложенными таблицами показаны, и я бы хотел, чтобы они не отображались)