![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите как обойти глюк в фильтрации... [D6, MSSQL]
Andrey__ © (2003-05-22 11:13:00)Подскажите как обойти глюк в фильтрации...
Есть компонент TADOQuery
устанавливаю свойство
Filter := "((Cod_UU = 13) and (God = 2003)) OR
((Cod_UU = 15) and (God = 2003))"; - все работает
устанавливаю свойство
Filter := "((Cod_UU = 13) OR (Cod_UU = 15)) and
(God = 2003)"; - ошибка при попытке установить свойство Filtered := True;
подскажите, что не так...
andrey__ (2003-05-22 13:20:00) [21]<а почему бы сразу запрос соответсвующим образом не строить>-дело в том, что данные всего запроса мне нужны, так как на клиенте такие расчеты, что иначе прийдется создавать слишком много запросов на сервер(для каждого условия), что будет намного дольше.
<onFilterRecord там попроще...> -
да следующее у меня выполняется
procedure TfmTabShag.qrSel30FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:= ((DataSet["Cod_UU"]=13) or (DataSet["Cod_UU"]=15)) and
(DataSet["God"]=2003);
end;
но у меня переменное количество условий объудиненых "OR" ((DataSet["Cod_UU"]=13) or (DataSet["Cod_UU"]=15 or ...) и "AND" и предусмотреть все варианты не возможно заранее. А в Filter строку всегда можно изменить.
Соловьев (2003-05-22 11:51:00) [22]
> andrey__ (22.05.03 11:42)
onFilterRecord там попроще...
Term (2003-05-22 11:46:00) [23]а почему бы сразу запрос соответсвующим образом не строить
andrey__ (2003-05-22 11:42:00) [24]Дело в том, что я написал упрощенный вариант. На самом деле у меня будет больше "OR" и "AND".
Stas (2003-05-22 11:32:00) [25]А чем тебя неустраевает это ((Cod_UU = 13) and (God = 2003)) OR
((Cod_UU = 15) and (God = 2003))"?
andrey__ (2003-05-22 11:30:00) [26]делал и так - не помогло!
Term (2003-05-22 11:27:00) [27]попробуй всё взять в еще одни общие скобки т.е.
Filter := "(((Cod_UU = 13) OR (Cod_UU = 15)) and
(God = 2003))";
Andrey__ (2003-05-22 11:23:00) [28]текст ошибки:
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Term (2003-05-22 11:19:00) [29]текст ошибки приведи