![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтр на DataSet [D7, MSSQL]
Sergey-ZZZ © (2004-02-14 12:15:00)
Имеется dataSet на основе таблицы такой структуры Id (Int),FIO (VarChar(50)),ZP (VarChar(10)). Нужно на время отфильтровать этот набор данных по двум полям FIO и ZP. Кладу в свойство Filtr следующий фильтр (FIO="Иванов")AND((ZP="100")OR(ZP="200")). Выдает ошибку. Если я в ZP ставлю только одно условие - все нормально. Что делать и как это обойти. А мне нужно несколько условий. :(((
Помогите!
Sergey-ZZZ (2004-02-14 16:58:00) [1]
Ну да. Я уже перезапрос хотел делать, но благодаря тебе (или Вам) сделал как (FIO="Иванов" AND ZP="100") OR (FIO="Иванов" AND ZP="200") и работает. Но условий у меня много, это привел пример маленький, и текст фильтра формируется огого. А с OnFilterRecord как поступать?
sniknik (2004-02-14 16:53:00) [2]
другой есть OnFilterRecord у DataSet.
а зачем еще раз тащить? перезапрос чтоли хочеш сделать?
Sergey-ZZZ (2004-02-14 15:35:00) [3]
Не то слово "странно". А прикинь если и по первому полю тоже надо несколько условий ставить. Красота...Как лучше сделать? Может другой какой-то метод есть? Уж больно не хочется еще раз данные с сервера тащить, а хочется отфильтровать уже существующие. Грущу и плачу :(((
sniknik (2004-02-14 15:16:00) [4]
(FIO="Иванов" AND ZP="100") OR (FIO="Иванов" AND ZP="200")
зато вот так проходит (проверил), странно да?
Sergey-ZZZ (2004-02-14 14:46:00) [5]
Ни так FIO="Иванов" AND (ZP="100" OR ZP="200"),
ни так FIO="Иванов" AND ZP IN ("100", "200") не получается.
:(((
sniknik (2004-02-14 13:45:00) [6]
попробуй количество скобок уменьшить (были как проблемы с вложением скобок в фильтре), непомню конкретно что было но проверь так FIO="Иванов" AND (ZP="100" OR ZP="200")
гарантий что заработает как понимаеш никаких (уж больно смутно помю).
можно еще попробовать фильтр с in (в ADO работало) так
FIO="Иванов" AND ZP IN ("100", "200")
Sergey-ZZZ (2004-02-14 12:37:00) [7]
Кавычки тут ни при чем, тогда была бы ошибка и при одном условии на поле. А ошибка слудующая: "exception EOLEException. Аргументы имеют неверный тип, выходят за пределы допустимого деапозона или вступают в конфликт друг с другом."
Дело в том, что как только я убираю одно из условий:ZP="100" или ZP="200" все нормально.
Hooch (2004-02-14 12:22:00) [8]
какую ошибку выдает ? может кавычки не продублированы ?