Я создаю базу данных по Доступу MS в настоящее время и задавался вопросом, был ли способ программировать его для автоматического перескакивания через определенные поля на основе ответа в предыдущие поля?
Да, это возможно. Например, если вы поместите следующий код в событие AfterUpdate
текстового поля txtLastName
]:
If txtLastName = ""
me.txtFieldToBeSkippedTo.SetFocus
End If
Вы также можете сделать невозможным ввод данных в него, отключив его:
Me.f2.Enabled = False
Me.f2.Locked = True
Блокировка не позволяет вам изменять данные в нем. Отключение включения запрещает вам вообще заходить в поле. Если вы оба, это будет удерживать поле от серого - что может быть, а может и не быть тем, что вы хотите.
Под словом «пропустить» вы имеете в виду скрыть поле или просто вкладку над ним ? В любом случае вам, вероятно, потребуется написать собственный код VBA, чтобы помочь вам решить проблему.
Для начала рассмотрим добавление кода VBA к событию AfterUpdate поля, которое будет определять, будет ли отображаться другое поле. В рамках процедуры для этого события напишите код, чтобы либо скрыть ( .Visible
), либо удалить из порядка табуляции (я думаю, что это .TabStop
) элементы управления, которые вы хотите пропустить.