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

Вниз

Как построить такой запрос...   Найти похожие ветки 

 
BlackCat ©   (2003-12-16 18:27) [0]

Доброго времени суток, Уважаемые мастера. Ситуация такая:

Есть БД на Access,
На форме Есть DBGrid, DataSource, и AdoQuery, Edit
А как можно сделать так, чтобы при возникновении события OnChange
у Edit"а В DBGrid"е оставались только те записи, с которые начинаются с буквы, введенной в Edit, вводишь следующую букву, они еще отсортировываются???

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


 
Anatoly Podgoretsky ©   (2003-12-16 18:32) [1]

LIKE


 
JibSkeart ©   (2003-12-16 18:34) [2]

..onChange(...)
begin
if (Edit1.text != "") then
begin
DBGrid.Filtered := true;
DBgrid.Filter := "fieldname like ""+Edit1.Text+""%"";
end
else
DBGrid.Filtered := false

end;

Это ??


 
BlackCat ©   (2003-12-16 18:51) [3]

Да, но только почему у меня DBGrid сразу же становится пустой, после ввода первой буквы, хотя слова, начинающиеся с этой буквы есть в том поле, к которому применяю фильтрацию???

P.S. Кароче почему-то не фурычит :((


 
BlackCat ©   (2003-12-16 19:30) [4]


> JibSkeart © (16.12.03 18:34) [2]
> ..onChange(...)
> begin
> if (Edit1.text != "") then
> begin
> DBGrid.Filtered := true;
> DBgrid.Filter := "fieldname like ""+Edit1.Text+""%""


и по моему надо применять не к граду, а к AdoQuery


 
BlackCat ©   (2003-12-17 09:24) [5]


> BlackCat © (16.12.03 18:51) [3]
> Да, но только почему у меня DBGrid сразу же становится пустой,
> после ввода первой буквы, хотя слова, начинающиеся с этой
> буквы есть в том поле, к которому применяю фильтрацию???
>
> P.S. Кароче почему-то не фурычит :((


Ну хоть кто-нить помогите, плиззззз...


 
JibSkeart ©   (2003-12-17 09:29) [6]

Да к Query

Сорри за ошибочку :)

да и попробуй раставить ковычки везде одинарные


 
Vilen   (2003-12-21 16:24) [7]

Have fun with this untill you find a better solution!
procedure TForm1.Edit1Change(Sender: TObject);
var s : string;
begin
If Edit1.Text > " " then
s := Edit1.Text + "%";
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("select field_name " +
"from table_name " +
"where field_name like :field_name");
ADOQuery1.Parameters[0].Value := s ;
ADOQuery1.Open;
end;


 
gestern1   (2003-12-21 16:57) [8]

У меня ibx, но тоже самое
procedure TForm1.Edit5Change(Sender: TObject);
var
sql:string;
begin
sql:="Select * from CLIENTS where Fam Like """+edit5.text+"%"+"""";
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(sql);
IBQuery1.Open;
IBQuery1.First;
end;


 
bon ©   (2003-12-22 09:14) [9]

текст запроса:
declare @str as nvarchar
set @str= :par1
Select * from CLIENTS
where Fam Like "%"+@str+"%"

код:

procedure TForm1.Edit1Change(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.Parameters[0].Value:=Edit1.Text ;
ADOQuery1.Open;
end;


 
Johnmen ©   (2003-12-22 09:17) [10]

>bon © (22.12.03 09:14)

Это текст процедуры... И, казалось бы, причем тут аксесс ?


 
Silver Alex ©   (2003-12-22 09:43) [11]

на событие 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;


 
Johnmen ©   (2003-12-22 09:52) [12]

>Silver Alex © (22.12.03 09:43)

Так интересно. Но работать не будет...:)


 
Silver Alex ©   (2003-12-22 10:05) [13]


> Johnmen © (22.12.03 09:52) [12]

а если еще вот так?

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


 
Johnmen ©   (2003-12-22 10:07) [14]

>Silver Alex © (22.12.03 10:05)

Тогда возможно...



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
3-49410
Mordsit
2003-12-19 11:34
2004.01.16
SQL-запрос


1-49579
INTAARI
2004-01-05 16:02
2004.01.16
Каким компонентом пользоваться для обзора и выбора папок


14-49699
hutr
2003-12-25 22:23
2004.01.16
Где взять?


3-49393
Ermek
2003-12-19 01:52
2004.01.16
расширением стандартного компонента Ole Container


3-49442
Skif
2003-12-18 13:44
2004.01.16
MyDac+delphi