Я столкнулся с этой проблемой, в том числе с ошибкой Запроса подчиненной формы.
Что, по-видимому, решает проблему, по крайней мере в моем случае, это очистить свойство SourceObject элемента управления подчиненной формы в родительской (основной) форме и затем сбросить его. Предполагается, что Form_Master установлен ..
Form_Master.SubformQuery.SourceObject = "" 'this is the important part
Form_Master.SubformQuery.SourceObject = "Query.ListSearchQuery"
Обратите внимание, что я делаю непонятную вещь, которая использует Запрос в качестве исходного объекта. Кажется, это заставляет Access взглянуть на новый sql, даже если он только что изменился в ссылочном запросе.
Надеюсь, это будет работать и в нормальной форме. Вы могли бы обобщить это примерно так:
Dim sourceReset As String
Dim Form_Master As Form_Master
Set Form_Master = Forms!Master
sourceReset = Form_Master.SubformControl.SourceObject
Form_Master.SubformControl.SourceObject = "" 'force reset
Form_Master.SubformControl.SourceObject = sourceReset