Все зависит от того, что вам нужно сделать.
Если вы хотите отобразить все записи и перейти к выбранной записи, то вы можете использовать навигацию по закладкам:
With Forms!MyOtherForm
.RecordsetClone.FindFirst "struct_ID = " & Me!struct_ID
If Not .RecordsetClone.NoMatch Then
If .Dirty Then
.Dirty = False
End If
.Bookmark = .RecordsetClone.Bookmark
End If
End With
Предполагается, что другая форма открыта со всеми загруженными записями.
Другой подход к этой проблеме, который я считаю более полезным для таких всплывающих ситуаций, заключается в том, чтобы просто открыть другую форму в виде диалога и потребовать ее закрытия перед возвратом в вызывающий контекст. В этом случае вы бы сделали это:
DoCmd.OpenForm "MyOtherForm", , , "struct_ID = " & Me!struct_ID, , acDialog
Затем вам придется закрыть другую форму, чтобы вернуться в исходный контекст.
Вы можете подумать, что при большом количестве записей это было бы неэффективно, но на самом деле это очень быстро, поскольку эта операция сильно оптимизирована в Access (более того, фактически не фильтруя уже открытую форму).