Страница 1 из 2

поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Чт сен 13, 2018 10:42 pm
kok80
С подсказки admin сделал фильтр с ИЛИ по нескольким полям с разнородным содержимым. Заявку на доработку фильтра с ИЛИ отзываю.

Вопрос: почему при вводе 0 (ноль) поиск не работает ? запись "одесса/украина/22/31.12.1999" остается ?

P.S. Неужели drts-поиск придется переписать ?

Re: поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Чт сен 13, 2018 11:20 pm
Гocть
1. Странные фильтры. В частности TryStrToDate. Что вы от нее ждёте?
2.
kok80 писал(а):почему при вводе 0 (ноль) поиск не работает

Возможно из за преобразования 0 в null.

Совет: когда скрипт пишете проверяйте результат выполнения шагов функцией debug.

Re: поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Чт сен 13, 2018 11:31 pm
kok80
1)Что странного ? Поиск работает и по текстовым полям, и по числовым, и по датам. Я предложил решение теоретической задачи, практичность её каждый решает сам для себя.

В фильтр tedit вводится текстовое значение, без TryStrToDate невозможно определить, введена дата или текст. При вводе недаты выражение '[дата]==cdate("%s")' выдаст ошибку.

2)
Возможно из за преобразования 0 в null"

Я бы даже сказал - скорее всего. Вопрос: как правильно сделать, чтобы заработало. Вручную в числовые поля вводил 0 - не помогло.

Совет: когда скрипт пишете проверяйте результат выполнения шагов функцией debug.

видимо, одного вызова debug у меня мало? Нужно почаще ?

Re: поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Чт сен 13, 2018 11:51 pm
drts
Интересное решение, если допилите до состояния действия поставлю себе на базку и буду пользоваться. Можно перебрать все поля таблицы в цикле, по очереди проверяя на тип и добавляя в фильтр. Крутяк, что тут скажешь. При вводе 0 можно принудительно его добавлять в фильтр как '0', может быть. Ну в общем это то,что я искал в своё время.

Re: поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Пт сен 14, 2018 12:00 am
kok80
хаха, я-то как раз ждал допиливания с вашей стороны.
А нужен ли поиск по всем полям ?

Re: поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Пт сен 14, 2018 8:23 am
admin
kok80 писал(а):Вопрос: почему при вводе 0 (ноль) поиск не работает ? запись "одесса/украина/22/31.12.1999" остается ?

Очень странно. Возможно ошибка в программе.

Ваш фильтр собъется если нажать кнопку "Обновить" или применить фильтр.

Re: поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Пт сен 14, 2018 8:36 am
Гocть
admin писал(а):Очень странно. Возможно ошибка в программе.

Почему то f7 ("код") like '%0%' проскакивает в фильтр.

Re: поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Пт сен 14, 2018 8:51 am
admin
Не понял.

Re: поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Пт сен 14, 2018 9:26 am
Гocть
sql.jpg
sql.jpg (41.4 КБ) 708 просмотров

Re: поиск/фильтр с ИЛИ по нескольким полям

Добавлено: Пт сен 14, 2018 9:45 pm
kok80
универсальный поиск/фильтр по всем полям почти готов. Не могу победить фильтр по полю объекта. Admin - прошу подсказать, как построить фильтр.