Сценарий: несвязанная основная форма с двумя подчиненными формами, обе привязаны к таблицам с одинаковым идентификатором. Подформы связаны между собой через несвязанное поле txtID=[SubForm1]![ID]
в MasterForm и SubForm2 Link Master Fields = txtID
& Link Child Fields = ID
, как описано здесь . SubForm1 имеет рекордную навигацию. SubForm2 всегда показывает запись с тем же идентификатором, что и запись в SubForm1 (если есть) = работает как задумано.
Я реализовал подпрограмму для сравнения записей (которые частично имеют те же поля данных - к сожалению, я работать с этими двумя источниками данных), выделяя различия - работает как задумано.
Проблема : вызов этого сравнения из Form_Current()
в SubForm1 обнаружил неожиданное поведение: событие запускается, и сравнение выполняется до SubForm2 обновляется (=> сравнение идет не так).
Приостановка выполнения кода на несколько секунд перед вызовом включенной подпрограммы - я из любопытства проверил - показывает, что иногда обновление SubForm2 заканчивается до продолжения выполнения кода, а иногда нет.