Por favor me ajude - urgente!!!. Dúvidas em SQL
Olá, pessoal
Sei que neste Fórum só têm feras, preciso que me ajudem.
Tenho um Form com os componentes Query, DataSource, DbGride.
Tenho uma tabela Cliente com os nomes (Ilson de Souza, Mário da Graça, Ivone Amorin, Elenir Silva, Ivanildo Ribeiro, Ivone Sequeira, entre outros).
Quando alguém digitar a inicial do nome, por exemplo a letra I, é preciso
qua apareça no DbGride somente os nomes que começam com a letra I.
Estou tentanto fazer isso com comandos em SQL, mas não obtive sucesso.
Se alguém souber como fazer, dessa maneira ou de alguma outra, por favor me ajude.
Um abraço
Que Deus ilumine a todos
Sei que neste Fórum só têm feras, preciso que me ajudem.
Tenho um Form com os componentes Query, DataSource, DbGride.
Tenho uma tabela Cliente com os nomes (Ilson de Souza, Mário da Graça, Ivone Amorin, Elenir Silva, Ivanildo Ribeiro, Ivone Sequeira, entre outros).
Quando alguém digitar a inicial do nome, por exemplo a letra I, é preciso
qua apareça no DbGride somente os nomes que começam com a letra I.
Estou tentanto fazer isso com comandos em SQL, mas não obtive sucesso.
Se alguém souber como fazer, dessa maneira ou de alguma outra, por favor me ajude.
Um abraço
Que Deus ilumine a todos
Ilson Sabino
Curtidas 0
Respostas
Flavio Sanches
27/05/2003
Tenho essa procedure aqui que faz o que vc quer e mais ainda. Ela completa o edit com o primeiro registro encontrado.
dá uma testada
coloque ela no onchange do edit, adapte os nomes e pronto.
procedure TFrmCad_Painel.Edt_PatrocinChange(Sender: TObject);
var
OldStart: byte;
begin
Edt_Patrocin.OnChange := nil;
try
oldstart := Edt_Patrocin.SelStart;
with QryAuxiliar do
begin
close;
sql.clear;
sql.add(´select * from patrocinador´);
sql.add(´where Desc_patrocinador like ´´´ + Edt_Patrocin.text + ´¬´´´);
open;
Edt_Patrocin.text := fieldbyname(´desc_patrocinador´).asstring;
Edt_Cod_patrocin.text:= fieldbyname(´cod_patrocinador´).asstring;
end
finally
Edt_Patrocin.SelStart := OldStart;
Edt_Patrocin.SelLength := length(edt_patrocin.text) - oldstart ;
Edt_Patrocin.OnChange := Edt_PatrocinChange;
end;
end;
dá uma testada
coloque ela no onchange do edit, adapte os nomes e pronto.
procedure TFrmCad_Painel.Edt_PatrocinChange(Sender: TObject);
var
OldStart: byte;
begin
Edt_Patrocin.OnChange := nil;
try
oldstart := Edt_Patrocin.SelStart;
with QryAuxiliar do
begin
close;
sql.clear;
sql.add(´select * from patrocinador´);
sql.add(´where Desc_patrocinador like ´´´ + Edt_Patrocin.text + ´¬´´´);
open;
Edt_Patrocin.text := fieldbyname(´desc_patrocinador´).asstring;
Edt_Cod_patrocin.text:= fieldbyname(´cod_patrocinador´).asstring;
end
finally
Edt_Patrocin.SelStart := OldStart;
Edt_Patrocin.SelLength := length(edt_patrocin.text) - oldstart ;
Edt_Patrocin.OnChange := Edt_PatrocinChange;
end;
end;
GOSTEI 0
Flavio Sanches
27/05/2003
E outra coisa:
Na próxima vez poste com um título mais específico.
no caso
SQL para busca recursiva
por exemplo
essa história de só pros feras, aqui só tem fera ou dúvidas - urgente
irrita o pessoal e o que vc vai conseguir é não ser respondido.
Na próxima vez poste com um título mais específico.
no caso
SQL para busca recursiva
por exemplo
essa história de só pros feras, aqui só tem fera ou dúvidas - urgente
irrita o pessoal e o que vc vai conseguir é não ser respondido.
GOSTEI 0