Вниз
Скачать: 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.021 c
8-43682
botan
2003-11-08 16:52
2004.03.14
очистка канвы!


1-43632
Creator
2004-03-02 13:36
2004.03.14
Сервисы


3-43368
dimidrol7
2004-02-15 16:28
2004.03.14
Выделение цветом части записи в DBGRID


7-43916
Lisa
2003-12-16 17:04
2004.03.14
имя CD


1-43431
Layner
2004-03-01 09:50
2004.03.14
Как редактировать строки в ListView?




   Наверх