Я бы рекомендуем Макросы данных в этом случае (если вы используете Access 2010 или новее). Преимущество более VBA заключается в том, что Data Macro работает на уровне двигателя, поэтому, если у вас есть несколько форм с этими полями, вам не нужно дублировать VBA для каждого из них. Это также устраняет проблему с запуском ввода данных и последующим их удалением.
Перейти к таблице дизайн, нажмите Создание данных Макросы>до изменения и добавьте Если состояние так:
Вы можете использовать VBA, чтобы поймать номер ошибки 1, чтобы сделать некоторые вещи. Как говорят Access, номера ошибок определены пользователем и не имеют никакого значения для Access.
Или просто: 'If IsNull (Me! Name + Me! Company) Then' – Gustav
Это работает, но создает проблему: если я начну вводить данные для новой записи, а затем удалю ее, Access не позволит мне перейти на предыдущий потому что ни одно из двух полей не содержит ничего. –
Me.Undo отменяет все, что вы делали в текущей записи, и позволяет вам выйти из новой записи. Или положите его после Cancel = true или (лучше): создайте для него новую кнопку. – Johanness