Событие OnFilterRecord (частичное совпадение)

Модератор: Модераторы

Событие OnFilterRecord (частичное совпадение)

Сообщение Luxor » 26.07.2013 11:15:21

В базе выполнен запрос при помощи TSqlQuery
В обработчике события OnFilterRecord пишу
Код: Выделить всё
Accept:=DataSet[EnglishNameField]=FrmW.Edit1.Text;

Если при этом в Edit1 пишу полный текст для поиска, то все нормально отбирается, проблем нет
Как сделать, чтобы можно было искать вхождение слова, а не полный текст?
Luxor
новенький
 
Сообщения: 72
Зарегистрирован: 10.06.2010 19:30:43

Re: Событие OnFilterRecord (частичное совпадение)

Сообщение Vadim » 26.07.2013 12:14:57

Luxor
А может проще условие выборки написать прямо в запросе?
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Событие OnFilterRecord (частичное совпадение)

Сообщение Luxor » 26.07.2013 12:22:13

Надо искать именно в результирующем наборе.

Добавлено спустя 25 минут 36 секунд:
Вот так заработало.
Вроде достаточно
Код: Выделить всё
fText:=UpperCase(DataSet.FieldByName(EnglishNameField).Value);
  accept:= POS(UpperCase(FrmW.Edit1.Text), fText) <> 0;     
Luxor
новенький
 
Сообщения: 72
Зарегистрирован: 10.06.2010 19:30:43

Re: Событие OnFilterRecord (частичное совпадение)

Сообщение Ism » 26.07.2013 20:05:05

Luxor писал(а):Надо искать именно в результирующем наборе.

Добавлено спустя 25 минут 36 секунд:
Вот так заработало.
Вроде достаточно
Код: Выделить всё
fText:=UpperCase(DataSet.FieldByName(EnglishNameField).Value);
  accept:= POS(UpperCase(FrmW.Edit1.Text), fText) <> 0;     

Лучше UTF8UpperCase , иначе русские буквы не будут искаться. Можно использовать OR и AND только большими буквами

Добавлено спустя 4 минуты 3 секунды:
Лучше так

ZQueryBrend.Filter:='search_ like '+QuotedStr('*'+UTF8UpperCase(LabeledEditBrandSearch.Text)+'*');
ZQueryBrend.FilterOptions:=[foCaseInsensitive];
ZQueryBrend.Filtered:=true;
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru