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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
7-49775
Alex10
2003-11-03 10:30
2004.01.16
Не могу разобраться с параметрами видеосистемы!!!


1-49538
Navi
2004-01-01 13:57
2004.01.16
Мерцание при перерисовке


1-49524
Shreder
2004-01-06 08:13
2004.01.16
Откат


8-49648
ChekhlatyAndrew
2003-09-15 20:29
2004.01.16
масштабирование и конвертирование в ч б


4-49811
turonix
2003-11-12 17:44
2004.01.16
Дискрипторы окон





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский