Вот моя проблема. В настоящее время я вынужден использовать Access, и я пишу некоторые общие проверки, которые я могу добавить в формы.
Все шло хорошо и перехватывало пустые поля в form_error на основании ошибки «Вы пытались присвоить нулевое значение переменной, которая не является типом данных Varient»
Все мои обязательные поля varchar не равны NULL.
К сожалению, если текстовое поле имеет источник управления для большого поля БД varchar, оно ведет себя по-другому. Я не могу вспомнить порог размера, но предполагаю, что эта разница в поведении будет эквивалентна тексту или памятке в таблице доступа).
Обычно, если вы удаляете содержимое небольшого текстового поля, оно пытается написать ноль, и ошибка обнаружена. Все хорошо.
Если вы сделаете то же самое для текстового поля, связанного с более крупным полем varchar, или с полем базы данных memo, тогда будет записана пустая строка, которая считается действительной.
Я подтвердил это, изменив схему БД между varchar (50) и varchar (256), обновив связанную таблицу в Access и перезапустив Access для хорошей меры.
Я надеюсь, что кто-то может указать мне на свойство для установки или какой-то крошечный фрагмент общего кода, который можно добавить, чтобы заставить все текстовые поля вести себя одинаково в отношении написания NULL / Пустой строки, когда они пусты независимо от размера Поле БД, к которому они подключены.
Просто чтобы заметить, что окно также ведет себя по-разному при вставке или редактировании. Если он не заполнен при вставке, он оставляет запись БД нулевой.