Как заставить доступ начать новую запись - PullRequest
1 голос
/ 22 февраля 2012

У меня есть форма с несколькими связанными полями и несколькими «пользовательскими» флажками, которые устанавливают значения для vba.Когда я начинаю новую запись с помощью DoCmd.GoToRecord, acNewRec, Access очищает мою форму, но не создает новый идентификатор, пока значение не будет введено в одно из связанных полей.Так как мои поля-флажки не связаны, любые изменения до того, как было отредактировано связанное поле, не будут сохранены.Я попытался добавить значения с помощью операторов sql, но access выдает ошибку после изменения другого поля, сообщая, что текущий набор записей был изменен, поэтому я сомневаюсь, что это путь.

Моя форма основана на запросеи с VBA я установил флажки, как [value_x] = true (который отлично работает, когда я впервые ввожу данные в связанное поле и, таким образом, создается новая запись).

(Другой способ избежать этого -установите любое связанное поле во время события onload в значение и затем удалите это значение, но это не очень понятно, я думаю ..)

1 Ответ

1 голос
/ 27 февраля 2012

После тестирования нескольких подходов я обнаружил, что моя ранее заявленная идея является самым простым подходом. Это означает, что я устанавливаю значение связанного поля в событии form_load и работаю с me.dirty, где это необходимо.

Конечно, я должен впоследствии удалить пустые наборы записей (если кто-то только открывает и закрывает форму), но это может быть очень легко обработано.

Еще одна отличная идея - та, которую Роберт Харви дал мне. Он предложил добавить событие click в мои несвязанные пользовательские флажки и использовать его для изменения поля скрытого связанного флажка, что также отлично работает.

...