Вниз
Скачать: CL | DM;

Фильтр на DataSet   Найти похожие ветки 

← →
Sergey-ZZZ   (2004-02-14 12:15) [0]

Имеется dataSet на основе таблицы такой структуры Id (Int),FIO (VarChar(50)),ZP (VarChar(10)). Нужно на время отфильтровать этот набор данных по двум полям FIO и ZP. Кладу в свойство Filtr следующий фильтр (FIO="Иванов")AND((ZP="100")OR(ZP="200")). Выдает ошибку. Если я в ZP ставлю только одно условие - все нормально. Что делать и как это обойти. А мне нужно несколько условий. :(((
Помогите!


← →
Hooch ©   (2004-02-14 12:22) [1]

какую ошибку выдает ? может кавычки не продублированы ?


← →
Sergey-ZZZ   (2004-02-14 12:37) [2]

Кавычки тут ни при чем, тогда была бы ошибка и при одном условии на поле. А ошибка слудующая: "exception EOLEException. Аргументы имеют неверный тип, выходят за пределы допустимого деапозона или вступают в конфликт друг с другом."
Дело в том, что как только я убираю одно из условий:ZP="100" или ZP="200" все нормально.


← →
sniknik ©   (2004-02-14 13:45) [3]

попробуй количество скобок уменьшить (были как проблемы с вложением скобок в фильтре), непомню конкретно что было но проверь так FIO="Иванов" AND (ZP="100" OR ZP="200")
гарантий что заработает как понимаеш никаких (уж больно смутно помю).
можно еще попробовать фильтр с in (в ADO работало) так
FIO="Иванов" AND ZP IN ("100", "200")


← →
Sergey-ZZZ   (2004-02-14 14:46) [4]

Ни так FIO="Иванов" AND (ZP="100" OR ZP="200"),
ни так FIO="Иванов" AND ZP IN ("100", "200") не получается.
:(((


← →
sniknik ©   (2004-02-14 15:16) [5]

(FIO="Иванов" AND ZP="100") OR (FIO="Иванов" AND ZP="200")
зато вот так проходит (проверил), странно да?


← →
Sergey-ZZZ   (2004-02-14 15:35) [6]

Не то слово "странно". А прикинь если и по первому полю тоже надо несколько условий ставить. Красота...Как лучше сделать? Может другой какой-то метод есть? Уж больно не хочется еще раз данные с сервера тащить, а хочется отфильтровать уже существующие. Грущу и плачу :(((


← →
sniknik ©   (2004-02-14 16:53) [7]

другой есть OnFilterRecord у DataSet.
а зачем еще раз тащить? перезапрос чтоли хочеш сделать?


← →
Sergey-ZZZ   (2004-02-14 16:58) [8]

Ну да. Я уже перезапрос хотел делать, но благодаря тебе (или Вам) сделал как (FIO="Иванов" AND ZP="100") OR (FIO="Иванов" AND ZP="200") и работает. Но условий у меня много, это привел пример маленький, и текст фильтра формируется огого. А с OnFilterRecord как поступать?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
1-43664
TGrey
2004-03-01 21:07
2004.03.14
при запуске приложения не отображать главную форму


3-43352
Пубертанец
2004-02-13 10:24
2004.03.14
Лишние пробелы в DB-компонентах


6-43725
RaVeX
2004-01-06 08:41
2004.03.14
проблема с кодировкой файлов аттачей при их сохранении (Indy)


1-43587
denik
2004-02-27 10:23
2004.03.14
Как избавиться от скролинга в TreeView`e?


3-43281
nejest
2004-01-23 13:24
2004.03.14
вопрос по TfrReport, как записывать запросы в frReport1GetValue




   Наверх