У меня есть форма с кнопкой, которая запускает макрос, открывающий другую форму. Оба подключены к одной таблице. Я хочу, чтобы вторая форма отображала ту же запись, что и первая форма.
Я не хочу фильтровать только ту же запись; Я знаю, как это сделать. (Я использую поле «Где условие».) Когда открывается новая форма, я хочу иметь возможность перейти к другим записям.
Я пробовал это:
GoToRecord
Record: Go To
Offset: Forms![FirstForm]![ID]
Это дает ошибку, вероятно, потому, что идентификационный номер не то, что я ищу; это рекордный номер.
Итак, я попробовал это:
GoToRecord
Record: Go To
Offset: Forms![FirstForm].CurrentRecord
Но это тоже не работает.
Я, вероятно, мог бы сделать это в VBA, но чувствовал бы себя глупо; Я уверен, что я всего в одном ключевом слове от этой работы.





Хорошо, как уже отмечалось, если вы используете предложение where (а в большинстве случаев вы должны), то, конечно, вы получите одну запись, но, как уже отмечалось, нет перехода к другим записям.
Почему-то не могу заставить макрос работать.
Однако этот фрагмент VBA будет работать:
Private Sub Command84_Click()
DoCmd.OpenForm "frmHotelsMain"
Forms("frmHotelsMain").Recordset.FindFirst "ID = " & Me!ID
End Sub
Однако по какой-то причине FindFirst в макросе не работает.
Итак, две строчки VBA.
Я попробовал макрос с открытой формой, а затем найти запись - просто не работает.
Я почти подумал, что это баг - я просто не знаю, почему не работает открытая форма, и найти запись в макросе - я просто не знаю, почему не работает макрос.
Это отлично работает, спасибо; Я отметил его как принятый. Я все еще надеюсь, что кто-то придумает ответ на макрос.