Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: 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 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
3-43325
off
2004-02-17 11:39
2004.03.14
Кол-во записей или как сделать count (select * ...)?


1-43597
Alex_DM
2004-02-27 09:46
2004.03.14
Исчезающая иконка


7-43904
Alien
2003-12-24 05:37
2004.03.14
Как определить метку диска (дискеты...)


3-43273
richman
2004-02-12 18:41
2004.03.14
Как заставить программу автоматом вводить пароль в базу.


1-43588
SEn
2004-02-27 12:23
2004.03.14
Как убрать приложение из списка задач?