Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

Поиск с фильтром в компонентах 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.032 c
3-1096469759
Ivan_
2004-09-29 18:55
2004.10.24
Обновление информации у всех пользователей


1-1097482169
serg!
2004-10-11 12:09
2004.10.24
Hint для любой ячейки TDBGrid


4-1095577813
SergP.
2004-09-19 11:10
2004.10.24
Как в Delphi обработать аппаратное прерывание?


1-1097156059
Ja
2004-10-07 17:34
2004.10.24
MessageBox в процедуре ScrollBar1Scroll


14-1096805244
Falcon(TFSoft)
2004-10-03 16:07
2004.10.24
Что за технологоия .NET?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский