Essa tá complicada !
07/02/2003
0
amigos , tenho dois edit em um form , ok
no primeiro quero digitar o numero 1 por exemplo e no segundo quero que me apareça o nome do cliente referente ao numero 1. ok
devo fazer assim:evento keypress do 1 edit
if(key =#13) then
begin
key:=0;
selectnext((sender as TWinControl), true, true);
end;
evento onkeydonw do primeiro edit
{Evento de procura ao remetente}
qrRemetente.Filter:= ´Cgc_Cpf=´´ + cgc_Remetente.Text + ´´´;
qrRemetente.Filtered:=True;
txtIE_Remetente.Text:=dsQrRemetente.DataSet.FieldByName(´Ie´).AsString;
isto é só um exmeplo ok , o PROBLEMA É : ele naum espera nem eu digitar todo o numero e já vai chamando o primeiro cliente do cadastro , pq ? como se faz entaum ?
obrigado
no primeiro quero digitar o numero 1 por exemplo e no segundo quero que me apareça o nome do cliente referente ao numero 1. ok
devo fazer assim:evento keypress do 1 edit
if(key =#13) then
begin
key:=0;
selectnext((sender as TWinControl), true, true);
end;
evento onkeydonw do primeiro edit
{Evento de procura ao remetente}
qrRemetente.Filter:= ´Cgc_Cpf=´´ + cgc_Remetente.Text + ´´´;
qrRemetente.Filtered:=True;
txtIE_Remetente.Text:=dsQrRemetente.DataSet.FieldByName(´Ie´).AsString;
isto é só um exmeplo ok , o PROBLEMA É : ele naum espera nem eu digitar todo o numero e já vai chamando o primeiro cliente do cadastro , pq ? como se faz entaum ?
obrigado
Anonymous
Curtir tópico
+ 0
Responder
Posts
07/02/2003
Anonymous
DragonWar
Usa sql para consultar no OnChange do Edit
Qualquer dúvida estamos aí.
Abraços,
Bruno Roberto.
Usa sql para consultar no OnChange do Edit
Qualquer dúvida estamos aí.
Abraços,
Bruno Roberto.
Responder
07/02/2003
Rodrigo Curvêllo
Seu código:
evento onkeydonw do primeiro edit
{Evento de procura ao remetente}
qrRemetente.Filter:= ´Cgc_Cpf=´´ + cgc_Remetente.Text + ´´´;
qrRemetente.Filtered:=True;
txtIE_Remetente.Text:=dsQrRemetente.DataSet.FieldByName(´Ie´).AsString;
isto é só um exmeplo ok , o PROBLEMA É : ele naum espera nem eu digitar todo o numero e já vai chamando o primeiro cliente do cadastro , pq ? como se faz entaum ?
Na minha visão sobre o problema o sistema só deve disparar o evento que procura o cliente quando você por exemplo pressionar a tecla [ENTER] ou outra qualquer de seu interesse, para isto você deve mudar o código de evento, deve usar o ONKEYPRESS mais ou menos assim:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then //13 Verifica se o [ENTER] foi pressionado
begin
{Evento de procura ao remetente}
qrRemetente.Filter:= ´Cgc_Cpf=´´ + cgc_Remetente.Text + ´´´;
qrRemetente.Filtered:=True;
txtIE_Remetente.Text:=dsQrRemetente.DataSet.FieldByName (´Ie´).AsString;
if (qrRemetente.Filtered.RecordCount=0) then
// Se depois de tentar localizar o cliente não existir nenhum
// registro na tabela filtrada exibir mensagem
showmessage(´Cliente não localizado!´);
end;
Acho que isto deve resolver!
evento onkeydonw do primeiro edit
{Evento de procura ao remetente}
qrRemetente.Filter:= ´Cgc_Cpf=´´ + cgc_Remetente.Text + ´´´;
qrRemetente.Filtered:=True;
txtIE_Remetente.Text:=dsQrRemetente.DataSet.FieldByName(´Ie´).AsString;
isto é só um exmeplo ok , o PROBLEMA É : ele naum espera nem eu digitar todo o numero e já vai chamando o primeiro cliente do cadastro , pq ? como se faz entaum ?
Na minha visão sobre o problema o sistema só deve disparar o evento que procura o cliente quando você por exemplo pressionar a tecla [ENTER] ou outra qualquer de seu interesse, para isto você deve mudar o código de evento, deve usar o ONKEYPRESS mais ou menos assim:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then //13 Verifica se o [ENTER] foi pressionado
begin
{Evento de procura ao remetente}
qrRemetente.Filter:= ´Cgc_Cpf=´´ + cgc_Remetente.Text + ´´´;
qrRemetente.Filtered:=True;
txtIE_Remetente.Text:=dsQrRemetente.DataSet.FieldByName (´Ie´).AsString;
if (qrRemetente.Filtered.RecordCount=0) then
// Se depois de tentar localizar o cliente não existir nenhum
// registro na tabela filtrada exibir mensagem
showmessage(´Cliente não localizado!´);
end;
Acho que isto deve resolver!
Responder
Clique aqui para fazer login e interagir na Comunidade :)