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


Anonymous

Anonymous

Responder

Posts

07/02/2003

Anonymous

DragonWar

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!


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar