Как заставить большие текстовые поля использовать пустое значение вместо пустой строки, когда пусто - PullRequest
0 голосов
/ 09 декабря 2011

Вот моя проблема. В настоящее время я вынужден использовать Access, и я пишу некоторые общие проверки, которые я могу добавить в формы.

Все шло хорошо и перехватывало пустые поля в form_error на основании ошибки «Вы пытались присвоить нулевое значение переменной, которая не является типом данных Varient»

Все мои обязательные поля varchar не равны NULL.

К сожалению, если текстовое поле имеет источник управления для большого поля БД varchar, оно ведет себя по-другому. Я не могу вспомнить порог размера, но предполагаю, что эта разница в поведении будет эквивалентна тексту или памятке в таблице доступа).

Обычно, если вы удаляете содержимое небольшого текстового поля, оно пытается написать ноль, и ошибка обнаружена. Все хорошо.

Если вы сделаете то же самое для текстового поля, связанного с более крупным полем varchar, или с полем базы данных memo, тогда будет записана пустая строка, которая считается действительной.

Я подтвердил это, изменив схему БД между varchar (50) и varchar (256), обновив связанную таблицу в Access и перезапустив Access для хорошей меры.

Я надеюсь, что кто-то может указать мне на свойство для установки или какой-то крошечный фрагмент общего кода, который можно добавить, чтобы заставить все текстовые поля вести себя одинаково в отношении написания NULL / Пустой строки, когда они пусты независимо от размера Поле БД, к которому они подключены.

Просто чтобы заметить, что окно также ведет себя по-разному при вставке или редактировании. Если он не заполнен при вставке, он оставляет запись БД нулевой.

1 Ответ

0 голосов
/ 14 декабря 2011

Это в значительной степени так, как вы должны это сделать. Вы можете установить «Правило валидации» для каждого текстового поля, но опять же это потребует поиска всех текстовых элементов управления.

Вы можете облегчить эту работу. Если вы проверите Зависимости объектов таблиц, вы можете получить список всех задействованных форм (и запросов и т. Д.). Тогда вы можете быть уверены, что попали в каждого из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...