Сохраняйте текущую запись после вставки новой записи в форму - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть форма, основанная на таблице, но у меня также есть некоторые дополнительные параметры в той же форме.Я хочу сохранить выбранную запись после вставки, чтобы я мог установить некоторые другие параметры в другой таблице.Я попытался сделать это с VBA после вставки, но форма не работает после завершения этой подпрограммы.

Private Sub Form_AfterInsert()
    DoCmd.GoToRecord , , acLast
End Sub

Я знаю, что моя запись gotorecord работает, потому что я могу запустить ее вручную и выбрать последнюю запись.Проблема в том, что существует форма очистки, которая запускается после «AfterInsert».Как мне это остановить?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Свойство, которое управляет этим свойством, является свойством Form.Cycle.

Установите для этого параметра значение Текущая запись (1) и нажмите клавишу ввода или вкладку в последнем поле.вернет вас обратно к первому полю.

Обратите внимание, что ввод не сохраняет текущую запись, это просто альтернатива табуляции.Если вы хотите сохранить запись при выходе из последнего поля, вы можете использовать VBA для этого.

0 голосов
/ 14 ноября 2018

Вы, вероятно, используете некоторые команды DoCmd для вставки записей.

Используйте RecordsetClone и ничего не будет перемещаться - и в форме будет отображаться новая запись, если будет видна новая запись:

Dim rs As DAO.Recordset

Set rs = Me.RecordsetClone
rs.AddNew
    rs.Fields("First Fieldname").Value = some value
    rs.Fields("Second Fieldname").Value = some other value
    ' etc.
rs.Update
rs.Close

Редактировать :

Чтобы остаться в текущей записи:

Перейти к Свойствам формы , вкладка Другие , набор Свойство цикла : Текущая запись

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...