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

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

Фильтр


Vint ©   (2002-12-06 12:03:00) 

Уважаемые мастера!

Использую фильтр: Table1.Filter := ...;по одному ключевому полю, если значений уловия фильтра немного, то все нормально, а если значений получается большое количество то вываливается Operation not applicable, подскажите как лечить?

p.s. хотелось бы узнать какое кол-во условий можно записать в Query?


Leichenko   (2002-12-08 13:15:00) [1]

Мне кажется, что нужно динамически генерить SQL-запрос только по введенной информации - тогда параметров будет мало!
Плюс делать семь запросов, т.е. отдельный на каждое событие (ты перечислял - рождение, смерть и т.д.), июо делать фильтр на 87 полей не очень хорошо...
Не совсем из этой области, но тем не менее... Например MySQL выполнял запрос с 7 join"ами 25 минут - следствие - выкидывать ненужное! (Кстати Access и MS SQL Svr потратили на такой же запрос 0 сек) =)


Vint   (2002-12-06 14:31:00) [2]

Ну уж до кучи :)
самое критичное место в моей функции поиска это просмотр таблицы от первой записи к последней, (она копируется быстрее, а ведь при этом происходит и чтение и запись!)почему так, и можноли этот процесс оптимизировать, может кто ответит?


Vint   (2002-12-06 13:57:00) [3]

Посвещаю Вас в тонкости работы :)

Существует семь видов гос. регистрации (рождение, смерть, брак, развод, усыновл., уст. отцовства, перемена ФИО).
Заполняется очень большое кол-во разл. инф. по каждому виду: например место рожд., жительства, инф. о родителях, их места рождения и жительства при этом существует куча служебной информации типа мать без отца, супруг разведен, осужден, ребенок без родителей, названия судов, все это с номерами справок, дат, мест выдачи все перечислять - день писать!

Теперь о главном, пришел запрос (УВД, ФСБ, Налоговая, суд и т.д.) разыскивается Володя родился в 1962 г. Кукуево и вперед... умирал, а может женился, приобрел отца, фамилию сменил и т.д. в Вашей области. Короче простор для поиска неограничен.

Ищу так: фильтрую записи подходящие к моему условию и вручную разбираю!

Спасибо за участие, а также всем, кто дочитал, до этого места :)))


ЮЮ   (2002-12-06 13:31:00) [4]

И если это поиск, то откуда ты уже знаешь значение ключевого поля?


Anatoly Podgoretsky   (2002-12-06 13:25:00) [5]

Vint © (06.12.02 12:44)
Учитывая последнюю информацию, тебе прямой путь к запросам вместо фильтра. Работать будет значительно быстрее, хотя одназначно можно сказать только после полевой проверки, может оказаться что фильтр быстрее или даже OnFilterRecord.

Но в любом случае что то не явно в консерватории, очень трудно представить такое, при том еще и явная путаница с запросом/фильром и поиском - две абсолютно ортогональные вещи


ЮЮ   (2002-12-06 13:23:00) [6]

Тогда эта таблица предназначена для хранения всего гарема в одной записи :-) Иначе не представляю, чего туда можно напихать


Vint   (2002-12-06 13:10:00) [7]

>ЮЮ © (06.12.02 12:54)
ответ для самых любознательных: первые четыре буквы моего mail ;-)


ЮЮ   (2002-12-06 12:54:00) [8]

И что это за "сущность" такая многогранная, что 87 полей понадобилось для её описания? :-)


Vint   (2002-12-06 12:44:00) [9]

>Anatoly Podgoretsky © (06.12.02 12:21)
Я дико извиняюсь - все действительно заработало, что такое, че за ошибка была?

>ЮЮ © (06.12.02 12:31)
поиск заставил (таб. Paradox почти милион строк, 87 полей - вот и вешаюсь :), пробовал даже в таблице просто как в текстовом файле искать, думал быстрее будет - нифига!)

Всем спасибо, еще раз извиняюсь!


ЮЮ   (2002-12-06 12:31:00) [10]

Набор значений ключевого поля - это не условие - это извращение. Что заставило тебя этим заниматься?


Mike Kouzmine   (2002-12-06 12:24:00) [11]

Можно попробовать на onFilterRecord


Anatoly Podgoretsky   (2002-12-06 12:21:00) [12]

Нормально работает фильтр и с большим количеством условий, при том фильтр можно поставить и на TQuery, получив набор конечно


Vint   (2002-12-06 12:18:00) [13]

>Anatoly Podgoretsky © (06.12.02 12:11)

Query я имею в виду как запасной вариант, если с Table1.Filter не прокатит, уж очень условий для фильтра у меня может быть много.


Anatoly Podgoretsky   (2002-12-06 12:11:00) [14]

В Query ничего писать не надо, фильр к нему отношения не имеет, фильр ставится на существующий набор данных


Наверх

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