Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Поиск с фильтром в компонентах ADO   Найти похожие ветки 

 
SergeyM   (2004-09-25 09:39) [0]

Привет мастера!
Немогу реализовать фильтрацию по символам, хотябы по начальным, в компоненте ADOTable.
Пишу как написано в хелпе:

DataModule1.ADOTable1.Filtered:=false;
DataModule1.ADOTable1.Filter:=Col+" = "+QuotedStr(Edit1.Text);
Edit2.Text:=DataModule1.ADOTable1.Filter;// это так для просмотра что там с фильтром
DataModule1.ADOTable1.Filtered:=true;

Пробовал и так:
<code.
DataModule1.ADOTable1.Filtered:=false;
DataModule1.ADOTable1.Filter:=Col+" = "+QuotedStr(Edit1.Text+"*");
edit2.Text:=DataModule1.ADOTable1.Filter;
DataModule1.ADOTable1.Filtered:=true;

Ниче не получается, в смысле получается пустой DBGrid.
Метод Locate работает но нужна фильтрация, причем по части выражения.


 
sniknik ©   (2004-09-25 11:16) [1]

замени * на % и проверь еще раз


 
SergeyM   (2004-09-25 11:23) [2]

Неработает.


 
Anatoly Podgoretsky ©   (2004-09-25 11:28) [3]

Как раз наоборот все работает - нет ни одной записи удовлетворяющей условию фильтра, если бы не работало, то выдало бы все записи.


 
sniknik ©   (2004-09-25 11:34) [4]

> Неработает.
а вообщето правильно, у тебя что в фильтре получается?
после такого составления, смотрел?
DataModule1.ADOTable1.Filter:=Col+" = "+QuotedStr(Edit1.Text+"%");
в переменной Col чего? или это имя поля?
тогда так проверь
DataModule1.ADOTable1.Filter:="Col="+QuotedStr(Edit1.Text+"%");


 
SergeyM   (2004-09-25 12:06) [5]

В переменной Col содержится имя столбца по которому происходит фильтрация. Например в столбце Nam существует запись Dir.exe, при поиске:

DAtaModule1.ADOTable1.Locate(col,Edit1.Text,[loCaseInsensitive,loPartialKey]);

Все нормально работает причем при постепенном вводе курсор перемещается на запись ближайшую к заданной в Edit1.Text,
а вот при фильтрации, если я ввожу к примеру dir , то отображается пустой Грид, если же (работает только с первым описанным случаем) ввожу dir.exe, то фильтр работает. А мне нужно реализовать не по полному названию, а по его части. Вдруг я не помню полного названия?


 
sniknik ©   (2004-09-25 12:09) [6]

> не по полному названию, а по его части
черт, ну конечно же
DataModule1.ADOTable1.Filter:=Col+" LIKE "+QuotedStr(Edit1.Text+"%");


 
SergeyM   (2004-09-25 12:16) [7]

Все ОК спасибо!


 
SergeyM   (2004-09-25 12:17) [8]

Причем работает и со *



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
4-1095421090
don
2004-09-17 15:38
2004.10.24
Как открыть диалог FileOpen с возможностью просмотра картинок


4-1095768486
Aleksandr.
2004-09-21 16:08
2004.10.24
Будет ли форма получать и обрабатывать сообщения при ожидании?


1-1097215738
Девушка
2004-10-08 10:08
2004.10.24
Abstact error


1-1097000507
RedDragon
2004-10-05 22:21
2004.10.24
как мне сохранить переменные, не используя базы данных...


4-1095714054
TRyaSS
2004-09-21 01:00
2004.10.24
Как записать нулевой байт в COM порт???