Я хотел бы предложить, если вы можете просто изменить все таблицы на сервере SQL, чтобы разрешить пустые значения для этих текстовых столбцов.Для битовых числовых столбцов по умолчанию их значение равно 0 sql на стороне сервера.В то время как наша отрасль склонна предлагать избегать нулевых значений, многие разработчики также хотят избегать нулевых значений, поэтому они отменяют проверку разрешенных пустых значений на стороне SQL-сервера.Проблема в том, что вы никогда не сможете убежать и избежать множества нулей.Возьмите простой запрос, скажем, клиенты и их последний номер счета + общая сумма счета.Но, конечно, ОЧЕНЬ распространенным было бы включение клиентов, которые ничего не купили в этом списке (клиенты без пока еще не выставленных счетов) или клиенты без какого-либо из миллиарда возможных случаев, когда дочерние записи еще не существуют. Я нахожу около 80%или БОЛЬШЕ из моих запросов в типичном приложении - ЛЕВЫЕ объединения. Это означает, что любая родительская запись без дочерних записей вернет ВСЕ ИЗ этих дочерних столбцов как ноль. Вы будете работать с, видеть, и ДОЛЖНЫ иметь дело с тоннами и тоннамиnull в приложении ДАЖЕ, если вы разрабатываете таблицы, НИКОГДА не допускаете нулевые значения. Вы не можете избежать их - вы просто не можете убежать от этих неприятных нулей.
Поскольку можно увидеть множество нулевых значений в коде и любом SQL-запросе (эти ОЧЕНЬобычные левые соединения), тогда, безусловно, лучшим решением будет просто разрешить и установить все текстовые столбцы как разрешающие нули. Я также могу много заявить, что если разработчик приложения не опустит ногу и сделает сильный выбор ВСЕГДА использоватьNULL, то вкрадывание NULLS и ZLS даЭто гораздо более серьезная проблема.
Проблема и проблема становятся очень неприятными и болезненными, если у человека нет контроля или вы не можете сделать этот выбор.
В конце дняAccess просто не работает с SQL сервером и разрешением выбора столбцов ZLS.
Для перехода на sql-сервер (а я занимался ими более 10 лет), без сомнения, нулевые значения для всех текстовых столбцов - безусловно, самый легкий выбор здесь.
Поэтому я рекомендую вам не пытаться кодировать эту проблему, а просто изменить все ваши таблицы sql на значения по умолчанию и разрешить нулевые значения для пустых столбцов.
Результат, приведенный выше, может потребовать некоторых незначительных изменений в приложении, но усилия и усилия будут намного меньше, чем попытки исправить или кодировать в Access плохую поддержку (фактически не поддерживающую) столбцов ZLS при работес сервером SQL.
Я также отмечу, что это предложение не является хорошим предложением, но это просто лучшее предложение, учитывая ограничения того, как Access работает с сервером SQL.Некоторые системы баз данных (oracle) действительно имеют общую настройку, которая говорит, что каждый ноль должен быть преобразован в ZLS, и поэтому вам не нужно заботиться о том, чтобы сказать следующее:
select * from tblCustomers where (City is null) or (City is = "")
Как показано выше, в тот момент, когда выРазрешить ZLS и NULL в ваше приложение - ЖЕ мгновение, когда вы создали огромный беспорядок.А научная дискуссия о неопределенности нулей - это просто дискуссия о другом дне.
Если вы разрабатываете с сервером Access + SQL, тогда нужно принять стандартный подход - я рекомендую, чтобы этот подход просто заключался в том, чтодля всех текстовых столбцов установлены пустые столбцы и столбцы даты.Для чисел и битовых столбцов по умолчанию их значение равно 0.
Это сводится к тому, что требует меньше усилий и работы.Либо попытайтесь внести некоторые ОСНОВНЫЕ изменения в приложение и произнесите открепление текстовых столбцов (это может быть огромным трудом).
Или
Просто примите и установите все текстовые столбцы, чтобы разрешить пустые значения.В этом случае он - арендодатель зла, и нужно соответствовать сумке с инструментами, которая была вам вручена.
Так что у меня нет обходного пути, а есть только путь и путь кпринять это приведет к наименьшему количеству работы и боли.Этот путь наименьшей боли состоит в том, чтобы идти с пустыми значениями.Это предложение будет работать, конечно, только если кто-то может сделать этот выбор.