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

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

длинное выражение для фильтра [D5, Paradox]


td ©   (2003-03-06 19:11:00) 

Набираю длинное условие для Table1.Filter. В одном месте оно оказывается жутко длинным - 23 000 символов - порядка 1000 записей должно удовлетворять (из 4500). И в этом месте - ошибка! Фильтр не работает! Почему - есть ли какие-нибудь ограничения по длине?

В самом выражении ошибки нет - там все через OR набирается. Тем более для таких же выражений покороче все работает.


Johnmen   (2003-03-07 09:29:00) [1]

>OnFilterRecord же медленнее работает, чем Filter. Разве нет?

Теоретически может работать медленнее, на ~ 0.01-0.1 %.
Только важно ли это ?


Anatoly Podgoretsky   (2003-03-07 01:40:00) [2]

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


td   (2003-03-07 01:00:00) [3]

OnFilterRecord же медленнее работает, чем Filter. Разве нет?


Johnmen   (2003-03-06 23:55:00) [4]

Забудь про Filter и используй OnFilterRecord.
Хотя я сильно сомневаюсь, что невозможно обойтись вообще без фильтра...:)


sniknik   (2003-03-06 23:53:00) [5]

может можно по другому? вложенным запросом задавать условие или OR на IN () заменить?

ложи подробности.


td   (2003-03-06 23:42:00) [6]

с большой таблицей связана дочерняя, которая использует справочник. Надо брать значение из справочника и смотреть в каких записях оно есть.

Я выбираю запросом для дочерней таблицы все подходящие значения, а потом приходится, шагая по каждой записи полученного запроса, набирать выражение для большой таблицы по кодам (через OR).

Сложно? Но так надо..


Anatoly Podgoretsky   (2003-03-06 19:22:00) [7]

Это что же за фильтр такой безумный


Наверх

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