Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2014, 19:05   #1
Roman123654789
Пользователь
 
Регистрация: 20.04.2012
Сообщений: 35
По умолчанию Фильтрация не с первой буквы в Dbgrid

Написал фильтрацию на компоненте ADOTable, но фильтрация проходит тогда когда вписана первая буква, а как сделать фильтрацию когда вписываю например пятую букву ?
Roman123654789 вне форума Ответить с цитированием
Старый 28.04.2014, 19:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Используй соответствующее событие:
Код:
procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);

begin
  Accept := pos(Edit.Text,DataSet['DateOfPayment'].AsString)<>0;

end;
Это из хелпа пример - Если то что введено в Ждите содержится в поле - запись принимается, иначе фильтруется.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.04.2014, 19:44   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Можно попытаться LIKE использовать. Следующая конструкции по идее должна отфильтровать все записи, у которых 5-ый символ поля DateOfPayment равен 'б'. Но это по идее и если хелпу верить. Так для SQL, насколько компоненты ADO продвинуты в этом смысле не в курсе, никогда не пробовал
Код:
ADOTable.Filter:='DateOfPayment LIKE ''____б%''';
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.04.2014, 20:17   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот пичалька - такие фокусы в фильтре на клиенте не всегда проходят.
Сам нарвался когда-то. Так особо и не понял от чего зависит. Может от BDE может еще от чего.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.04.2014, 20:21   #5
Roman123654789
Пользователь
 
Регистрация: 20.04.2012
Сообщений: 35
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Используй соответствующее событие:
Код:
procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);

begin
  Accept := pos(Edit.Text,DataSet['DateOfPayment'].AsString)<>0;

end;
Это из хелпа пример - Если то что введено в Ждите содержится в поле - запись принимается, иначе фильтруется.
У меня было так :
procedure TForm5.Таблиця1FilterRecord(DataSet : TDataSet;
var Accept: Boolean);
var s:string;
begin
s:=copy(dataset['Дата'],1,Length(ed));
accept:=s=ed;
После замены вашим кодом и подстановки своих данных у меня вибивает ошибку

Последний раз редактировалось Roman123654789; 28.04.2014 в 20:33.
Roman123654789 вне форума Ответить с цитированием
Старый 28.04.2014, 21:23   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
вибивает ошибку
Соболезную, но я не экстрасенс. У меня ничего не выбивает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена в тексте первой буквы макросом Irek11 Microsoft Office Excel 2 13.11.2012 03:55
Перенос первой буквы в конец слова Zigi Паскаль, Turbo Pascal, PascalABC.NET 3 19.12.2010 18:15
Очень важно: Перенос первой буквы в конец слова (Паскаль 7.0) Zigi Помощь студентам 2 19.12.2010 15:53
Удалить из слова вхождения первой буквы kniazkinP Помощь студентам 0 30.11.2010 12:27
Изменение первой буквы Костя Общие вопросы Delphi 4 28.11.2007 14:31