Fórum erro na pesquisa com Query.locate #373909

20/08/2009

0

Pessoal, a pesquisa com query.locate está funcionado blz...

procedure TFDep032.Edit2Change(Sender: TObject);
begin
   // abre a query
   qr_filtro.Open;
   //pesquisa pelo codigo do funcionario a grade
   qr_filtro.locate(´d005codi´,Edit2.Text,[loCaseInsensitive, loPartialKey]);
end;


na hora que eu pago o primeiro numero da consulta, me retorna um erro =>> is not valid floating point value...

ex. vou consultar o funcionario 123 quando dou backspace, no 3 2 blz... mas depois que apago o numero um aparece a mensegem de erro.

valeu t+


Faberssp

Faberssp

Responder

Posts

20/08/2009

Dicasecodigosdelphi

o correto é voce verificar o codigo se é um float valido antes de rodar o locate tipo assim

try
 StrToFloat(valor);
excepty
showmessage(codigo invalido);
end;



Responder

Gostei + 0

20/08/2009

Martins

Pessoal, a pesquisa com query.locate está funcionado blz...
procedure TFDep032.Edit2Change(Sender: TObject);
begin
   // abre a query
   qr_filtro.Open;
   //pesquisa pelo codigo do funcionario a grade
   qr_filtro.locate(´d005codi´,Edit2.Text,[loCaseInsensitive, loPartialKey]);
end;
na hora que eu pago o primeiro numero da consulta, me retorna um erro =>> is not valid floating point value... ex. vou consultar o funcionario 123 quando dou backspace, no 3 2 blz... mas depois que apago o numero um aparece a mensegem de erro. valeu t+


:shock:

Veja bem o q vc está fazendo.

Qual evento do edit vc está usando? OnChange certo? Pois bem, vc está fazendo a busca a cada vez q tecla, então vazio não pode ser ponto flutuante, perceba q ao apagar todos os números vc ficou com ´´ (vazio), então esse valor não pode ser convertido para floating point. Outro detalhe, se vc está usando Query então porque não usar instrução SQL ou invés de LOCATE?

Se vc prentende ainda assim usar locate, sugiro que utilize alguma instrução condicional para não ter erro tipo.

procedure TFDep032.Edit2Change(Sender: TObject);
begin
   if Edti2.Text <> ´´ then
   begin
     // abre a query
      qr_filtro.Open;
     //pesquisa pelo codigo do funcionario a grade
      qr_filtro.locate(´d005codi´,Edit2.Text,[loCaseInsensitive, loPartialKey]);
   end;
end;


Boa sorte e bons códigos! :)


Responder

Gostei + 0

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

Aceitar