![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Здравствуйте. Подскажите в написание события фильтрации. Пишу обработчик события фильтрации поиска фамилии, указанной в Edit1.
Код:
procedure TForm2.N3Click(Sender: TObject); begin ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT * FROM Sotrudniki WHERE familiya LIKE ''%Edit1.Text%'''); ADOQuery1.Active:=True; end; ![]() |
#2
|
||||
|
||||
![]() Цитата:
Код:
ADOQuery1.SQL.Add('SELECT * FROM Sotrudniki WHERE familiya LIKE ''%'+Edit1.Text+'%'''); |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
Evgen_Balbes (28.09.2012)
|
#3
|
||||
|
||||
![]() там ещё есть свойство Filter и Filtered
ставишь Filter:='familiya LIKE ''%'+Edit1.Text+'%''' и Filtered в True по итогу не надо квэрик гонять за данными на сервер фильтрация локальная Код сырец |
Этот пользователь сказал Спасибо Lost_Fish за это полезное сообщение: | ||
Evgen_Balbes (28.09.2012)
|
#4
|
||||
|
||||
![]() Все работает))) Но у меня есть в базе поле с типом счетчик. Пишу код
Код:
procedure TForm2.Edit1Change(Sender: TObject); begin if Length(Edit1.Text) > 0 then begin ADOQuery1.Filtered:=false; ADOQuery1.Filter:='№ i\b LIKE '+ '''' + Edit1.Text + '%' + ''''; ADOQuery1.Filtered:=true; end else ADOQuery1.Filtered:=false; end; Код:
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (Key in ['0'..'9', #8])then Key:=#0; end; Последний раз редактировалось Evgen_Balbes, 29.09.2012 в 00:03. |
#5
|
||||
|
||||
![]() Вот скриншот ошибки.
|
#6
|
||||
|
||||
![]() Цитата:
Код:
ADOQuery1.Filter:='[Имя поля] LIKE '+ '''' + Edit1.Text + '%' + ''''; Цитата:
|
#7
|
||||
|
||||
![]() Исправил , теперь пишет что не возможно открыть фильтр.Но в др Edit открывает, в чем подвох?( выделяет строку 7)
![]() Код:
procedure TForm2.Edit1Change(Sender: TObject); begin if Length(Edit1.Text) > 0 then begin ADOQuery1.Filtered:=false; ADOQuery1.Filter:='[№ i\b] LIKE '+ '''' + Edit1.Text + '%' + ''''; ADOQuery1.Filtered:=true; end else ADOQuery1.Filtered:=false; end; |