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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2009, 16:01   #1
eisenheim
Новичок
Джуниор
 
Аватар для eisenheim
 
Регистрация: 10.03.2009
Сообщений: 1
По умолчанию сортировка в ADO Access

Добрый день!
подскажите как сделать фильтрацию по части значения записи, в определенной колонке.

в колонке 'SN' содержатся серийные номера, мне нужно фильтровать те записи в которых есть искомое значение, причем не полное(в ячейке вот это значение S00JJ50XC54033, мне нужно чтобы при вводе 54033 выводилась эта строка).

Код:
procedure TForm1.FINDEditChange(Sender: TObject);
begin
BookTable.IndexFieldNames:='SN';

if Length(FindEdit.Text)>0 then BookTable.Filtered:=true
else
BookTable.Filtered:=false;
BookTable.Filter:='SN='''+FindEdit.Text+'''';
end;

procedure TForm1.BOOKTableFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
Accept:=false;
if copy(BookTableDSDesigner.AsString,1,Length(FindEdit.Text))= FindEdit.Text then
Accept:=true;;
end;
вот этот код не работает.

сорри за тупость.
eisenheim вне форума Ответить с цитированием
Старый 24.09.2009, 11:26   #2
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Сообщений: 241
По умолчанию

LIKE (Transact-SQL)
Определяет, совпадает ли указанная символьная строка с заданным шаблоном. Шаблон может включать обычные символы и символы-шаблоны. Во время сравнения с шаблоном необходимо, чтобы его обычные символы в точности совпадали с символами, указанными в строке. Символы-шаблоны могут совпадать с произвольными элементами символьной строки. Использование символов-шаблонов с оператором LIKE предоставляет больше возможностей, чем использование операторов сравнения строк = и !=. Если тип данных одного из аргументов не является символьной строкой, компонент SQL Server Database Engine, если это возможно, преобразует его в тип


символ %
Любая строка длиной от нуля и более символов.
Инструкция WHERE Название LIKE '%компьютер%' выполняет поиск и выдает все названия книг, содержащие слово «компьютер».





(подчеркивание)
Любой одиночный символ.
Инструкция WHERE фамилия_автора LIKE '_етров' выполняет поиск и выдает все имена, состоящие из шести букв и заканчивающиеся сочетанием «етров» (Петров, Ветров и т.п.).

[ ]
Любой одиночный символ, содержащийся в диапазоне ([a-f]) или наборе ([abcdef]).
Инструкция WHERE Фамилия_автора LIKE '[Л-С]омов' выполняет поиск и выдает все фамилии авторов, заканчивающиеся на «омов» и начинающиеся на любую букву в промежутке от «Л» до «С», например Ломов, Ромов, Сомов и т.п. При выполнении операции поиска в диапазоне символы, включенные в диапазон, могут изменяться в зависимости от правил сортировки параметров сортировки.

[^]
Любой символ, содержащийся в диапазоне ([^a-f]) или наборе ([^abcdef]).
Инструкция WHERE Фамилия_автора LIKE 'ив[^а]%' выполняет поиск и выдает все фамилии, начинающиеся на «ив», в которых третья буква отличается от «а».
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума Ответить с цитированием
Старый 26.09.2009, 12:06   #3
Кайрат
Новичок
Джуниор
 
Регистрация: 26.09.2009
Сообщений: 2
По умолчанию

Салам. Попробуй вот так:
оставь все как было, но добавь знак "Больше" перед знаком "Равно". Может быть получится. Пjдробнее:
BookTable.Filter:='SN>='''+FindEdit .Text+'''';
Кайрат вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
access+delphi+ado aid_013 БД в Delphi 2 10.07.2010 09:28
Access и ADO stel2 БД в Delphi 3 05.06.2009 08:11
ADO & Access Регишка БД в Delphi 7 24.11.2008 15:48
Access/ADO Anton_S БД в Delphi 2 26.05.2008 08:24
Delphi+ADO+Access Turpa Помощь студентам 12 15.10.2007 23:29