Как оставить поле со списком пустым // пропущено в форме
Я относительно новичок в Access, и любой SQL и VBA, который я выбрал, самоучка, поэтому я был бы очень признателен за ответы, которые не слишком перегружены техническими терминами... при этом у меня возникла проблема с разрешением комбинированных списков для не заполняйте форму, если пользователь решит не вводить данные. Также я пользуюсь Access 2016.
Первоначально проблема, с которой я столкнулся, заключалась в том, что если выпадающий список был полностью пропущен и оставлен пустым, или если пользователь выбирает этот выпадающий список, а затем пытается двигаться дальше, не делая выбора из списка, он получает сообщение об ошибке "Вы пытались присвоить значение Null значение переменной, которая не является типом данных Variant "и не смогла перейти к каким-либо другим полям формы или сохранить введенную запись.
Я нашел эту статью, в которой подробно описывается возможное решение, но я не могу заставить его работать. Я создал несвязанный комбинированный список, установив для параметра "Источник строки" значение:
SELECT EmailID, PersonalEmail FROM EmailT UNION SELECT "<N/A>","<N/A>" FROM EmailT
ORDER BY PersonalEmail;
где PersonalEmail - это поле типа короткого текста, а EmailID - это автономный номер. Я также выполнил шаги, описанные в статье, для форматирования комбинированного списка (ширина столбца и т. Д.) И установил для него значение Ограничить до List = Yes.
Вот мой точный код:
Private Sub Combo62_AfterUpdate()
If Combo62 = "<N/A>" Then
EmailID = Null
Else
EmailID = Combo62
End If
End Sub
Private Sub Form_Current()
If IsNull(EmailID) Then
Combo62 = "<N/A>"
Else
Combo62 = EmailID
End If
End Sub
Отладчик Access выделяет строку:
EmailID = Null
но я не уверен, какие шаги я должен предпринять сейчас, чтобы попытаться это исправить.
Я полностью открыт для других методов, позволяющих оставить поле со списком пустым, если кто-то знает и лучший способ сделать это тоже. Насколько я знаю, мне не хватает чего-то действительно очевидного! Заранее спасибо за любую информацию!
РЕДАКТИРОВАТЬ: Спасибо за вашу помощь, ребята, я никогда не понимал, в чем именно проблема, но я получил совет от другого форума, чтобы переосмыслить дизайн моей базы данных, так что это оказалось нулевой проблемой - теперь все совершенно по-другому!
1 ответ
Если источник записей для вашей формы содержит запрос со связями один-ко-многим, эта ошибка может появиться. Попробуйте использовать только базовую таблицу в качестве источника записей для формы. Используйте подчиненные формы, если вам нужно отобразить связанные данные. Остальная часть кода может быть ненужной.