1 (edited by texotdel 2014-11-04 21:09:16)

Topic: Фильтр %s% нужна помощь! :)

Хорошая вещь фильтр %s%! Только как бы из него исключить знаки препинания?
Задача в следующем. Надо организовать поиск по ключевым словам. Вводить их, естественно, могут по-разному. Поэтому вышеуказанный фильтр, как нельзя, кстати! Вот только ключевые слова и словосочетания между собой разделяются запятыми и при вводе в текстовое поле этой запятой результатом поиска будет практически вся таблица. Что не очень хорошо. Как бы это обойти? Подскажите, пожалуйста! Что-то обломно перебирать довольно большой массив, этих самых, ключевых слов по-символьно и исключать все знаки препинания. Может быть кто-нибудь подскажет что-либо более компактное и оригинальное. Спасибо! smile

Re: Фильтр %s% нужна помощь! :)

А почему нельзя просто не вводить запятую в текстовое поле? )
ну или запретить ее ввод.

Dmitry.

Re: Фильтр %s% нужна помощь! :)

Ну, речь идёт не только о запятой, а и вообще обо всех знаках препинания и, скорее всего, о предлогах, союзах и пробелах тоже.

Пользователю запретить можно только программно  никакие уговоры, как известно, на него не подействуют smile

Мысль хорошая, работать с полем ввода для поиска, правда, тогда придётся иметь две таблицы. Первая, в которой всё показано, для удобства восприятия. И вторая, в которой осталась только смысловая часть (без знаков препинания, предлогов, союзов и пробелов), по которой и проводится поиск. Вырисовывается тоже непростая задача. Теперь надо оценить, что дешевле работать с вводом информации или анализировать уже хранящуюся информацию. Или искать какой-то компромисс.

В любом случае спасибо за подсказку! smile

Re: Фильтр %s% нужна помощь! :)

Можно воспользоваться SQL запросом, который уберет например пробелы и запятые

SELECT * from person WHERE firstname LIKE '%' ||
Replace(
  Replace('{Edit2}', ',', '')
, ' ', '')
|| '%'

здесь используется SQL функция Replace('текст поиска', 'что заменить', 'чем заменить')
заменяем пустой строкой, т.е. символ будет удален.

Dmitry.

Re: Фильтр %s% нужна помощь! :)

Спасибо! smile Это, кажется, то что нужно!  Буду разбираться с синтаксисом.