Я думаю, что ты близко.Вы хотите, чтобы WhereCondition было таким же, как предложение WHERE для запроса источника записей Целевой формы, но без слова WHERE.
Dim frm As String, whr As String
frm = "Target Form"
whr = "[ID] = " & Me.ID
Debug.Print "whr: " & whr
DoCmd.OpenForm frm, acNormal, , whr
Я намеревался Me.ID в качестве значения элемента управления, имя которого равноID и привязан к полю в текущей записи исходной формы.Я - сокращение от "этой формы".Одна из причин, по которой это полезно, заключается в том, что вам не нужно будет пересматривать код, если позже вы решите дать форме другое имя.
Я добавил оператор Debug.Print, чтобы вы могли переключиться в окно «Немедленное окно» (Ctrl).+ g) и скопируйте строку whr, затем вставьте ее в новый запрос, основанный на том же источнике записей, который использует целевая форма.Это может быть полезно в том случае, если вы по-прежнему не отображаете правильную запись при открытии целевой формы.
Ваша версия также содержит 1 в качестве OpenArgs для OpenForm.Я не видел, как ты это использовал, поэтому оставил это.Если целевая форма включает процедуру обработки событий, которая что-то делает с OpenArgs, убедитесь, что она не переопределяет ваше условие WhereCondition.