Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Нужна помощь!!! Проблемы с TADODataSet.Filter / 7 сообщений из 7, страница 1 из 1
21.08.2002, 17:40
    #32044992
Лана
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь!!! Проблемы с TADODataSet.Filter
У меня следующая проблема с ADODataSet

Это работает :
Код: plaintext
1.
2.
3.
  ADODataSet.Filter := '( Field1 = ''aaa'' AND Field2 = ''bbb'' )';
  ADODataSet.Filtered := true;



И это работает :
Код: plaintext
1.
2.
3.
  ADODataSet.Filter := '( Field1 = ''aaa'' OR Field1 = ''ccc'' )';
  ADODataSet.Filtered := true;



А вот так не работает :
Код: plaintext
1.
2.
3.
  ADODataSet.Filter := '( Field1 = ''aaa'' OR Field1 = ''ccc'' ) AND ( Field2 = ''bbb'' )';
  ADODataSet.Filtered := true;


Выдает ошибку : " Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another"

Почему могут быть такие проблемы с фильтром, при одновременном использовании операторов AND и OR в одном условии. Ведь по отдельности все работает.....
...
Рейтинг: 0 / 0
21.08.2002, 18:20
    #32045015
art
art
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь!!! Проблемы с TADODataSet.Filter
Поля какого типа?
Из хелпа
'BORLAND' { BORLAND }

'You''ll see' { You'll see }
'''' { ' }
'' { null string }
' ' { a space }

Может там '''' надо вместо '' что бы получить кавычки
STRING
...
Рейтинг: 0 / 0
21.08.2002, 18:56
    #32045032
Лана
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь!!! Проблемы с TADODataSet.Filter
Поля строковые. С кавычками все в порядке.
И все прекрасно работает если использовать в фильтре только оператор AND или только оператор OR. Но при использовании обоих операторов начинаются проблемы.
...
Рейтинг: 0 / 0
22.08.2002, 09:02
    #32045074
MIKLUHA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь!!! Проблемы с TADODataSet.Filter
Здравствуйте!

Попробуйте вот так:

ADODataSet.Filter := '( Field1 = ''aaa'' AND Field2 = ''bbb'' ) OR ( Field1 = ''ccc'' AND Field2 = ''bbb'' ) ';
ADODataSet.Filtered := true;

Желаю успехов.
...
Рейтинг: 0 / 0
22.08.2002, 12:25
    #32045153
Лана
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь!!! Проблемы с TADODataSet.Filter
2 MICLUHA

Спасибо за совет, так работает.

Но при подобном решении простые условия фильтра
превращаются в монстров, неужели нет другого выхода из данной проблемы????
...
Рейтинг: 0 / 0
22.08.2002, 21:14
    #32045364
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь!!! Проблемы с TADODataSet.Filter
Лучше вообще не фильтровать датасет, а писать условия отбора в селекте и "перечитывать" запрос.
...
Рейтинг: 0 / 0
21.05.2003, 17:18
    #32165404
equites
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь!!! Проблемы с TADODataSet.Filter
2 MICLUHA

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

((F1=Value) OR ...(Fi=Value)) AND ((F1=Value) OR ... (Fj=Value)),
где j, i = 20.

перемножение всего на всё - не очень ... и как бороть эту фильтрацию - пока не знаю ... может кто подскажет
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Нужна помощь!!! Проблемы с TADODataSet.Filter / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]