|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.03.2010, 19:31 | #1 |
Пользователь
Регистрация: 06.01.2008
Сообщений: 61
|
есть БД(ADO) на одном из столбцов стоит фильтр, к примеру на столбце Фамилия, и если попытаться найти по фильтру фамилию "Иванов", то как только полностью в строку поиска вбиваешь её, Иванов, то эта фамилия пропадает из грида
Не мог понять в чем дело, открыл книжку Фленова, у его примера таже ерунда.... в чем подвох? Delphi 7. если имеет значение Последний раз редактировалось Stilet; 17.03.2010 в 10:14. |
17.03.2010, 00:48 | #2 | |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
Цитата:
Код:
Код:
если чем помог, поставьте отзыв на весы
|
|
17.03.2010, 08:52 | #3 |
Пользователь
Регистрация: 06.01.2008
Сообщений: 61
|
Если ставить "=" то вообще все записи пропадают при введений первой буквы....
|
17.03.2010, 08:59 | #4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
DataModule1.BookTable.Filter:='Фами лия LIKE '''+FindEdit.Text+'%''';
% означает что на этом месте может быть любой набор символов(может использоваться неоднократно Иванов% А% получим Иванов Александр Иванова Анна Иванович Антон
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 17.03.2010 в 09:03. |
17.03.2010, 09:12 | #5 |
Пользователь
Регистрация: 06.01.2008
Сообщений: 61
|
Выдает "Аргументы имееют неверный тип выходят за пределы .....
|
17.03.2010, 10:12 | #6 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
проверьте filter в результате должен выглядить так Код:
программа — запись алгоритма на языке понятном транслятору
|
|
17.03.2010, 18:45 | #7 |
Пользователь
Регистрация: 06.01.2008
Сообщений: 61
|
Нет пробелы не поставил!
во вложении вариант Фленова с вашей строкой фильтр, не работает |
17.03.2010, 19:54 | #8 |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
Есть один проверенный мною способ, вроде работает как нужно. Это сделано через ADOQuery.
Если что не понятно, объясню. Я это делал в Delphi 7 если что...
если чем помог, поставьте отзыв на весы
|
18.03.2010, 00:25 | #9 |
Пользователь
Регистрация: 06.01.2008
Сообщений: 61
|
sql запрос у Query объясните (момент И%) ?!
select * from Справочник where [Справочник.Фамилия] like 'И%' и зачем он, практически дублируется, в теле программы ?! DataModule1.ADOQuery1.SQL.Text:='se lect * from Справочник where [Cправочник.Фамилия] like '''+FindEdit.Text+'%'''; |
18.03.2010, 02:43 | #10 |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
Что такое % в 4 посте уже объяснили.
Like - это "содержит" А дублируется потому, что каждый раз при вводе новой буквы в Edit, нужно обновлять запрос, чтобы сразу показывались результаты поиска.
если чем помог, поставьте отзыв на весы
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание фильтра | Apostolx | БД в Delphi | 0 | 15.10.2009 10:12 |
Настройка фильтра в Экселе 2003 | andrewvd | Microsoft Office Excel | 11 | 21.08.2009 12:12 |
Значения фильтра... | nikolai_P | Microsoft Office Excel | 1 | 25.02.2009 14:49 |
Грмотная настройка фильтра в компоненте Table | Avalonix | БД в Delphi | 18 | 24.05.2008 12:27 |
Опции фильтра в ADOTable | alain | БД в Delphi | 0 | 02.05.2008 22:17 |