Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Неверное число записей возвращает запрос [D7, MS Access]


Sergey5 ©   (2007-04-18 18:03:00) 

есть таблица внутри mdb. в ней есть текстовое поле 50 длина.
в таблице 6587 записей всего.
делаю фильтр по этому полю из дельфы и даже в самом Аццессе - то же самое.

фильтры следующие( 4 штуки):
is null - 4781 запись
not is null - 1786 записей (при этом помимо записей с инфой возвращается 1118 "пустых полей" - ни значений, ни пробелов там нету ничего)
= '' - 118 записей
<> '' - 668 записей

Сжатие и восстановление на базу натравливал из под Access - не помогает.

Вопрос в следующем - почему на простейший запрос
select поле
from таблица
where поле not is null

возвращаются записи в которых ничего нету? Пустые поля полностью. Не единого символа не стоит в них. Даже перебор делал по этой выборке в Дельфи - они действительтно null.

Можно ли это списать на "глюк" работы Microsoft Access? или это чтото - что проходит мимо моего внимания.
Помогите разобраться.

Как то получается что в таблице находится
null записи и "отдельно"  '' записи

Или я торможу или одно из двух =))


MsGuns   (2007-04-18 21:46:00) [1]

Включение в ЛЮБУЮ таблицу поля счетчика позволяет избежать массу проблем, в т.ч. и сабжевую


Johnmen   (2007-04-18 20:34:00) [2]

Классическое понятие:
NULL (ничего) не совпадает с тем, когда что-то есть, хоть и пустая строка. Т.е. пустая строка - это значение.

Кстати. Вот это обман здешней публики:
6587(всего) = 4781(is null) + 1786(not is null)
:)


Плохиш   (2007-04-18 18:30:00) [3]

У акцесса различаются пустые строки и значение null в строковом поле.

Кстати, поиск этой информации в справке акцесса занял 15 секунд с учётом запуска акцесса, выбора меню "справка" и ввода в ассистенте слов "is not null" :-)


Desdechado   (2007-04-18 18:09:00) [4]

Не знаю, как в акцессе, а Оракл интерпретирует пустую строку (нулевой длины) как NULL, а FB - как NOT NULL.
В твоем случае, может, там какие-тонепечатные символы болтаются?


Наверх

Титульная страница Поиск, карта сайта Написать письмо