Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Базы данных > CBuilder ADOQuery->Filter ошибка с AND и OR |
Автор: KateL 15.10.2017, 12:21 |
Здравствуйте. Наткнулась на странную ошибку и не знаю, как ее обойти. Имеем TADOQuery Q с полями Lat и Lon числового дробного типа. Запрос открыт. При попытке фильтрации вылетает ошибка: "Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом" Q->Filter = "(Lat >= -10) AND (Lat <= 10) AND ( (Lon >= 100) OR (Lon <= -100)) "; Q->Filtered = true; // - вылетает ошибка Тот же фильтр, но без скобок вокруг OR ошибки не выдает (но результат, понятно, получаем другой) Q->Filter = "(Lat >= -10) AND (Lat <= 10) AND (Lon >= 100) OR (Lon <= -100) "; Q->Filtered = true; // - ошибки нет То же условие, вставленное в текст запроса, работало корректно, но мне потребовалось отфильтровать данные не закрывая запрос. Можно ли как-то это побороть? С уважением, Екатерина. |