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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 01.07.2010, 07:12   #1
ЛисЁНЫШ
Пользователь
 
Регистрация: 25.03.2010
Сообщений: 20
По умолчанию Ошибка в запросе

Здравствуйте!!!
Вопрос такой, мне нужно сделать запрос по нескольким полям, чтоб отфильтровывались только те записи в которых в поле POL будет равен "М" в поле MESTO_SM='Вне дома', поле GRUP_DIAGN должно быть равно или 'Некоторые инфекционные' или 'В том числе туберкулез'.У меня вышел вот такой запрос:
Код:
form1.ADOQuery1.Filtered:=false;
filtr:='';
filtr:= 'POL LIKE '+  #39 + 'М' + '%' + #39+
' and '+'MESTO_SM LIKE '+  #39 + 'Вне дома' + '%' + #39 +
' and '+'GRUP_DIAGN LIKE '+  #39 + 'Некоторые инфекционные' + '%' + #39+
' or '+'GRUP_DIAGN LIKE '+  #39 + 'В том числе туберкулез' + '%' + #39;
if length(filtr) > 0 then
begin
form1.ADOQuery1.Filter:= filtr;
form1.ADOQuery1.Filtered:=true;
Ap.Range['F15']:=IntToStr(form1.ADOQuery1.RecordCount);
end;
Но при выполнении его выдает ошибку.Подскажите где тут неправильно.

Последний раз редактировалось Stilet; 01.07.2010 в 08:32.
ЛисЁНЫШ вне форума
Старый 01.07.2010, 08:15   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А что за ошибка то?
И по моему та часть запроса в которой находится OR должна быть в скобках.
Код:
POL LIKE 'М%' and MESTO_SM LIKE 'Вне дома%'
and (GRUP_DIAGN LIKE 'Некоторые инфекционные%' OR GRUP_DIAGN LIKE 'В том числе туберкулез%')
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)

Последний раз редактировалось rdama; 01.07.2010 в 08:20.
rdama вне форума
Старый 01.07.2010, 08:37   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попробуй:
Код:
Filte:='(pol like '+QuotedStr('M%')+
') and (mesto_sm like '+QuotedStr('Вне Дома%')+
') and (GRUP_DIAGN like '+QuotedStr('Некоторые инфекционные%')+
') or (GRUP_DIAGN LIKE '+QuotedStr('В том числе туберкулез%')+')';
А вообще текст ошибки приводить нужно. Не все тут телепаты.
I'm learning to live...
Stilet вне форума
Старый 02.07.2010, 07:35   #4
ЛисЁНЫШ
Пользователь
 
Регистрация: 25.03.2010
Сообщений: 20
По умолчанию

Спасибо всем у меня получилось))))
ЛисЁНЫШ вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в запросе с датой pobedin БД в Delphi 8 17.06.2010 10:57
Ошибка в запросе LIKE Ele БД в Delphi 2 22.05.2010 13:07
Где ошибка в запросе? Bendebej SQL, базы данных 1 03.02.2010 17:09
Ошибка в запросе к БД Access Vit@L БД в Delphi 8 26.09.2009 18:22
Ошибка SQL запросе. EVG44 БД в Delphi 2 21.10.2007 22:42