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

Вниз

Как отфильтровать таблицу по указанному полю (MS Access + ADO)   Найти похожие ветки 

 
BlackCat ©   (2003-12-23 04:17) [0]

Доброго времени суток, уважаемые мастера!
Возникла проблема такого характера. Есть на форме AdoQuery, DBGrid и Edit.
Как можно сделать так, чтобы при вводе букв в Edit в DBGrid"e оставались только те записи, которые начинаются с этих букв.
Например вводишь "а", а в гриде остаются записи, начинающиеся с "а", "аб" - то начинающиеся с "аб".

заранее благодарен.


 
chtr ©   (2003-12-23 08:13) [1]

Использовать TEdit.onkeypress и TADOQuery.filter или параметры в запросе.


 
Sens ©   (2003-12-23 08:33) [2]

DM - ДатаМодуль;
Sel_Mat - TQuery; (вместо TQuery может быть ADODataSet, только тогда вместо DM.Sel_Mat.SQL. должно быть DM.Sel_Mat.CommandText.)
S_DOS - начало строки, по которому делаем фильтр/выборку ;

DM.Sel_Mat.Active:=1=0;
DM.Sel_Mat.SQL.Clear;
DM.Sel_Mat.SQL.Add("select * from par_NC where Name LIKE :P_Name");
DM.Sel_Mat.ParamByName("P_Name").AsString:="S_DOS+"%";
DM.Sel_Mat.Active:=1=1;


 
Sens ©   (2003-12-23 08:36) [3]

Опс. ошибка в тексте.
DM.Sel_Mat.ParamByName("P_Name").AsString:= S_DOS+"%";


 
Silver Alex ©   (2003-12-23 10:05) [4]

на событие OnFilterRecord

procedure TForm1.ADODataSet1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:=((pos(AnsiUpperCase( Edit1.Text), AnsiUpperCase(DataSet.FieldByName("name").AsString))=1) or
(Edit1.Text=EmptyStr)) ;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
ADODataSet1.Filtered:=false;
ADODataSet1.Filtered:=true;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
9-62953
Sacred
2003-07-03 02:21
2004.01.20
преобразование координат


6-63285
Mag
2003-11-17 19:37
2004.01.20
Отправка содержимого формы по Майлу


14-63294
Rauf
2003-12-31 20:47
2004.01.20
(СРОЧНО) В Харьков звонить так: 38 (Украина) 0572 (Харьков)???


4-63447
Rul
2003-11-13 12:29
2004.01.20
ICQ


3-62980
ZeroDivide
2003-12-24 09:26
2004.01.20
Где находится tnsnames.ora ?