![]() |
|
![]() ![]() ![]() |
|
Лиходей |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 25.5.2008 Репутация: нет Всего: нет |
Есть шесть полей вводда (Edit) для задания условия на фильтрацию, причем каждое из полей может быть пустым, лишь бы одно из полей было заполнено.
Применяю следующую конструкцию:
которая работат корректно только если все поля заполнены, если одно из полей EDit пустое - вылетает ошибка "аргументы имеют не верный тип". Как пользоваться OnFilterRecord знаю, но в таблице 300.000 тысяч записей и Filter намного шустрее работает. |
|||
|
||||
vovk |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 28.2.2008 Репутация: 6 Всего: 6 |
Можно сделать набор фильтра типа
Неизящно но работать должно да и доработать можно |
|||
|
||||
Лиходей |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 25.5.2008 Репутация: нет Всего: нет |
vovk спасибо за идею. Немного переделал ваш пример. Все работает.
Формируется строка фильтра неизящно, как вы говорите, зато фильтрует быстро. Без проверки полей на наличие\отсутствие данных все равно не обойтись. Еще раз спасибо. |
|||
|
||||
MMihan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
Тоже по благодарю за пример.. но есть пару вопросов.. что такое #39 и почему то ругается всегда на первый едит.. если стираем его второй :НЕ удается Открыть Фильтр.. не подскажите в чем причина может быть..
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
MMihan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
спасибо..
Это сообщение отредактировал(а) MMihan - 17.12.2011, 00:01 |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
А что должно куда вылетать? Я в примеры-то не вникал. Да и лучше запрос с условием использовать вместо фильтра. Кстати, СУБД какая?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
MMihan |
|
||||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
все разобрался Null не надо...
акцесс... sql запросом делал все отлично работало... но столкнулся с проблемой .. что фильтровка и сортировка... сбивают друг друга.. .. результат отображается в Dbgrid.. например хота сделать по выбору Радио буттнон сортировка по ФИО или по Серийному номеру.. и тут же делаем запрос на поиск.. то они сбивали друг друга.. Совместить такое у меня не получилось.. опыта очень мало и знаний например был такое запрос
и вот такая процедура сортировки...
Это сообщение отредактировал(а) MMihan - 17.12.2011, 00:13 |
||||
|
|||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Если их вместо использовать - то конечно. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
MMihan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
а подскажите пожалуйста как в эту процедуру фильтрования вставить Сортировку
и что то не знаю как с ДАтой поступить.. Это сообщение отредактировал(а) MMihan - 17.12.2011, 00:18 |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
А кто сказал, что её можно вставить в фильтр? Преобразовать в текст, видимо. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
MMihan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
Спасибо разобрался сделал..
осталось 2 пробемы .. почему вылетает ошибка если искать по первому полю КЛ.. Ключ, счетчик и дата.. в в самом фильтре преобраловать DateToStr(DateTimePicker2.DateTime)? и DateToStr(DateTimePicker1.DateTime) или же сачало нужно в var DateToStr(DateTimePicker1.DateTime)=dt1 DateToStr(DateTimePicker2.DateTime)=dt2 |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Какая ошибка? Ну, вероятно, в самом фильтре, в строке его формирования, а где ещё. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
MMihan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
Не удается открыть фильтр
делал DateToStr(DateTimePicker2.DateTime) и DateToStr(DateTimePicker2.Date) ошибка .. не соответсвие типов.. РРРРР ох уж эта дата)) Это сообщение отредактировал(а) MMihan - 17.12.2011, 00:57 |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
А, ну так если это счётчик => поле числовое. А ты его с кавычками берёшь в фильтре.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |