![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтр
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 ничего писать не надо, фильр к нему отношения не имеет, фильр ставится на существующий набор данных