Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > OnFilterRecord + ADOQuery.filter


Автор: Lunatikus 20.12.2007, 10:02
Здравствуйте.
Мне надо сделать несколько фильтров по набору данных,полученных с помощью ADOQuery(MS SQL 2000).
С простыми фильтрами все просто - использую свойство filter.Но есть пара сложных фильтров,где надо сравнивать выражения типа поле1*поле2<0 или  поле1+поле2<поле3.
Filter такого не понимает и приходится обрабатывать OnFilterRecord.Однако,если обрабатывать все остальные фильтры,получается код в несколько десятков страниц-с каждым новым фильтром кол-во условий увеличивается лавинообразно.Поэтому я решил в OnFilterRecord обработать только улсовия на сложные фильтры.
Однако срабатывает почему-то только filter,хотя в описании писалось,что они работают независимо друг от друга.
В чем может быть проблема?Какой сценарий связанной работы этих двух методов фильтрации?

Автор: Lunatikus 20.12.2007, 10:19
нашел ошибку.В обработчике писал по следующей схеме:

IF (....) THEN accept:=true

Когда переправил на
accept:=(...) 
все условия стали выполняться.

Однако схема взаимного впыолнения все равно не понятна.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)