Мне удалось наконец решить проблему.Как я уже отмечал выше, моя таблица данных является подчиненной.Родительская форма устанавливает параметры, которые определяют, как будет построена подчиненная форма.Во время построения таблицы данных исходный объект подчиненной формы заменяется пустой формой, чтобы скрыть предыдущую таблицу и обеспечить плавный переход к новой таблице.Он прекрасно работает в Access 2000/2003.
Когда пустая форма заменяется новой таблицей данных в Access 2007, я обнаружил, что Access автоматически назначает первичный ключ данных подчиненной формы свойствам LinkMasterFields и LinkChildFields несвязанной родительской формы .Эти свойства ранее были пустыми, и я никогда не устанавливал их в коде.Возможно, это попытка Access 2007 быть полезной, а не ошибкой, но различие в поведении не отмечено ни в одной технической справке, которую я могу найти, включая встроенный файл справки.Поскольку родительская форма не связана, имеет эффект фильтрации всех моих записей подчиненной формы .Если я явно установлю LinkMasterFields = "" и LinkMChildFields = "" на этапе подстановки формы, все будет работать так же, как и раньше.Ура!
Опять же, решение заключается в том, что при установке исходного объекта подчиненной формы обязательно следует явно задавать свойства linkmastfields и linkchildfields, чтобы Access не мог сделать это за вас .Я надеюсь, что это спасет кого-то от разочарования, которое я испытал.