Я думаю, что если это имеет значение для вас, то вы не должны использовать AfterUpdate
или AfterInsert
, а на самом деле BeforeUpdate
событие.Вы не говорите, зачем вам нужно знать, является ли запись вставкой или обновлением, и что вы планируете делать в обоих случаях.Несмотря на это, у меня трудное время для создания хорошего сценария, в котором вам нужно знать, что в событии After***
.
В BeforeUpdate
вы все равно можете проверить свойство NewRecord
и взять некоторыедействия, основанные на этом.Что еще более важно, вы можете отменить попытку вставки / обновления, установив для параметра Cancel
значение true в событии BeforeUpdate
.
Кроме того, чтобы представить другой вариант - если действие, которое вы хотите выполнитьВыполнение ориентировано на данные и будет истинным независимо от того, как данные вводятся, с помощью этой конкретной формы или нет, вместо этого следует рассмотреть возможность использования макросов данных, которые различают вставки и обновления.Обратите внимание, что вы по-прежнему можете вызывать код VBA из макросов данных в случае, если действия макроса данных недостаточны для того, что вам нужно сделать.
События AfterUpdate
и AfterInsert
хороши для того, чтобы что-то делать после свершившегося факта, и, как правило, не заботятся о том, как появилась запись.Примеры включают такие вещи, как обновление связанной формы, изменение фокуса, включение / отключение элементов управления и тому подобное.Обратите внимание, что все примеры, которые я привел, были связаны с пользовательским интерфейсом.Вот для чего это нужно и нужно использовать вот так.