Хорошо, как это сделать?
Если вы просто редактируете данные? (без добавления новых строк) в эту сетку?
Ваш код для запуска второй формы будет выглядеть так:
me.Refresh - optional but REQUIRED if you do allow editing in the gride.
docmd.OpenForm "frmDetailsEdit",,,"ID = " & Me!ID,,acDialog
me.refresh - this will show any data changes you made in the 2nd dialog form
Обратите внимание: вам не нужен первый me.Refre sh ЕСЛИ вы не разрешили редактирование в отображении данных / сетки. AcDialog заставит код WAIT / HALT, пока пользователь не закончит редактирование во 2-й форме.
Последний me.refre sh обновит любые изменения данных, и он также будет держать указатель reocrd включенным. в той же текущей строке.
Однако, если ваша вторая диалоговая форма, запущенная ТАКЖЕ, позволяет добавлять записи, тогда me.refre sh НЕ будет отображать вновь добавленные записи.
Если вы разрешите добавление? Затем вам нужно выполнить me.Requery в этой последней строке вместо me.refre sh. Это перезагрузит форму на основе ее запроса, но вы ТАКЖЕ потеряете текущую позицию. Вы можете, если sh измените положение указателя / местоположения записи, если вам нужно, но мы пока не знаем, нужна ли вам эта возможность.