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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2010, 17:15   #1
nervniy
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 52
По умолчанию Проблема с фильтром

Код:
if Length (Edit1.Text)>0 then
DataModule10.AdoTable2.Filtered:=true
else
 DataModule10.AdoTable2.Filtered:=false;
DataModule10.ADOTable2.filter:='[имя_столбца] LIKE '+ #39 + '%' + Edit1.Text + '%' + #39;
 end;
Первый раз фильтрует нормально,но если тут же очистить Edit и попытаться ввести новые данные вылазиет ошибка:
"Аргументы имеют неверный тип,выходят за пределы допустимого диапазона или вступают в конфликт друг с другом"
Что неправильно в коде?как его поправить чтоб нормально работало??
nervniy вне форума Ответить с цитированием
Старый 18.08.2010, 17:39   #2
GoodDA
фрилансер
Форумчанин
 
Аватар для GoodDA
 
Регистрация: 18.07.2008
Сообщений: 107
По умолчанию

попробуй так
Код:
DataModule10.AdoTable2.Filtered:=false;
DataModule10.ADOTable2.filter:='[имя_столбца] LIKE '+ #39 + '%' + Edit1.Text + '%' + #39;

if Length (Edit1.Text)>0 then
DataModule10.AdoTable2.Filtered:=true
else
 DataModule10.AdoTable2.Filtered:=false;
GoodDA вне форума Ответить с цитированием
Старый 18.08.2010, 17:42   #3
nervniy
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 52
По умолчанию

Код:
begin
if Length (Edit1.Text)>0 then
begin
 DataModule10.AdoTable2.Filtered:=false;
 DataModule10.ADOTable2.filter:='[id_diacolor] LIKE '+ #39 + '%' + Edit1.Text + '%' + #39;
 DataModule10.AdoTable2.Filtered:=true;
 end
 else DataModule10.ADOTable2.Filtered:=false;
 end;
Сделал так,вроде нормально работает
nervniy вне форума Ответить с цитированием
Старый 19.08.2010, 06:33   #4
darknezz
Пользователь
 
Регистрация: 03.08.2010
Сообщений: 16
Вопрос

А что означают "#39" и "%"???
darknezz вне форума Ответить с цитированием
Старый 19.08.2010, 06:36   #5
darknezz
Пользователь
 
Регистрация: 03.08.2010
Сообщений: 16
По умолчанию

Я вот так делал и работает всё без проблем, только одна проблема обязательно необходимо сортировку этого столбца сделать
if Length (Edit1.Text)>0 then
DataModule10.AdoTable2.Filtered:=tr ue
else
DataModule10.AdoTable2.Filtered:=fa lse;
DataModule10.ADOTable2.filter:='имя _столбца>''+ Edit1.Text+'''
darknezz вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с фильтром в ADOTable son_of_koshi Помощь студентам 2 04.08.2010 14:21
считать txt с фильтром и записать в xls alvazor Microsoft Office Excel 6 29.01.2010 13:21
Работаем с фильтром... nikolai_P Microsoft Office Excel 7 13.03.2009 14:04
Combobox с фильтром Legat Общие вопросы Delphi 4 10.02.2009 14:51
edit с фильтром аля Google 1sal1 БД в Delphi 1 07.07.2008 20:34