Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2012, 05:52   #1
a_n_n_a
Форумчанин
 
Регистрация: 06.03.2009
Сообщений: 157
По умолчанию Фильтр ADOQuery

Здравствуйте) Пытаюсь отфильтровать ADOQuery.
Этот код фильтрует правильно:
Код:
AdoQuery1.Filter:='Tek_isp LIKE '+ #39 + CheckBox1.Caption +'%'+ #39 +' OR '+'Tek_isp LIKE '+ #39 + CheckBox2.Caption+#39
Этот тоже:
Код:
AdoQuery1.Filter:='Sena>0'
А Этот выдает ошибку "аргументы имеют неверный тип или выходят за переделы диапозона.....":
Код:
AdoQuery1.Filter:='Tek_isp LIKE '+ #39 + CheckBox1.Caption +'%'+ #39 +' OR '+'Tek_isp LIKE '+ #39 + CheckBox2.Caption+#39 + ' AND  Stavka>0'
Не хотят у меня AND и OR вместе работать)))
Как правильно такой фильтр составить?)

Последний раз редактировалось a_n_n_a; 04.02.2012 в 07:15.
a_n_n_a вне форума Ответить с цитированием
Старый 04.02.2012, 07:13   #2
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

вероятно нет пробела перед AND
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 04.02.2012, 07:14   #3
a_n_n_a
Форумчанин
 
Регистрация: 06.03.2009
Сообщений: 157
По умолчанию

Korben5E, это я здесь так написала, ошиблась))) Вобще он там есть и все равно ошибка)
a_n_n_a вне форума Ответить с цитированием
Старый 04.02.2012, 07:26   #4
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Ну тогда возьми в скобки условие OR

where (Tek_isp like ... or Tek_isp like ...) and (Stavka>0)
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 04.02.2012, 12:07   #5
a_n_n_a
Форумчанин
 
Регистрация: 06.03.2009
Сообщений: 157
По умолчанию

Цитата:
Ну тогда возьми в скобки условие OR

where (Tek_isp like ... or Tek_isp like ...) and (Stavka>0)
Пробовала, не катит)
a_n_n_a вне форума Ответить с цитированием
Старый 04.02.2012, 12:21   #6
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

ну тогда предварительно в переменную запиши и посмотри внимательно в отладчике что за строка получается

и кто тебе мешает не в фильтре это писать, а в самом запросе?

и вообще - что за ошибка-то?
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 04.02.2012, 12:28   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
аргументы имеют неверный тип или выходят за переделы диапозона.....
Ну и что непонятного в этой ошибке?
Неверный тип - это не значит что АНД или ОР неверно работают, а значит что неправильно указываешь выражение.
Цитата:
Stavka>0
Это поле какого типа?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2012, 12:48   #8
a_n_n_a
Форумчанин
 
Регистрация: 06.03.2009
Сообщений: 157
По умолчанию

Цитата:
Это поле какого типа?
Числовое.
Ну как не правильно, отдельно же эти фильтры работают.
И работают если так:
Код:
AdoQuery1.Filter:='Tek_isp LIKE '+ #39 + CheckBox1.Caption +' AND  Stavka>0'
А вот когда добавляю ОR выскакивает ошибка....
a_n_n_a вне форума Ответить с цитированием
Старый 04.02.2012, 13:09   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А если запросом написать?
В запросе это условие сработает или тоже ошибку даст?
И кстати, эти поля Stavka, Tek_isp они у тебя в делфи в обьекте инспекторов как-то описаны в настройке списка полей AdoQuery1?
Или в самом запросе стоит * для выбора всех полей?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2012, 13:12   #10
a_n_n_a
Форумчанин
 
Регистрация: 06.03.2009
Сообщений: 157
По умолчанию

за там в ADOQuery вже есть большой запрос, не хочу туда лезть, запутаюсь)
Да, описаны вот так:
ADOQuery1Tek_isp: TWideStringField;
ADOQuery1Sena: TFloatField;
a_n_n_a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADOQuery фильтр MrMorozko БД в Delphi 5 21.04.2011 22:51
Фильтр ADOQuery+ComboBox+Edit vsa_210465 БД в Delphi 3 19.08.2010 18:09
AdoQuery lenuxoid БД в Delphi 6 25.03.2010 18:24
AdoQuery Stanislav БД в Delphi 34 26.06.2009 22:09