Чтобы запросить форму и вернуться к той же записи, сделайте это:
Dim lngPKValue As Long
With Me.RecordsetClone
lngPKValue = Me!ID
' Me.Dirty = False is unnecessary, as the Requery saves the data
Me.Requery
.FindFirst "[ID]=" & lngPKValue
If Not .NoMatch Then
Me.Bookmark = .Bookmark
End If
End With
Теперь, где вы положили этот код, зависит. Я не совсем понимаю в исходном коде, почему нужно запрашивать, так как обновления были сделаны для записи, на которой вы уже находитесь, поэтому вы ничего не добиваетесь, запрашивая и возвращаясь к записи, на которой вы начали , Но есть обстоятельства, при которых вы хотите это сделать (например, в упорядоченном наборе записей, где вы отредактировали значения, которые изменят место этой конкретной записи в отсортированном результате), и вышеописанный способ это сделать. .
Если это необходимо, вы, вероятно, захотите отключить рисование формы (Me.Painting = False, Me.Painting = True после установки закладки) или приложения (Application.Echo = False / Правда), чтобы экран не мерцал, и вы не видите запрашивающий и навигацию. Но убедитесь, что вы добавили обработчик ошибок, так как если ошибка произошла, когда рисование экрана выключено, ваш пользователь может застрять и не сможет продолжить.