erro na pesquisa com Query.locate
Pessoal, a pesquisa com query.locate está funcionado blz...
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+
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
Curtidas 0
Respostas
Dicasecodigosdelphi
20/08/2009
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;
GOSTEI 0
Martins
20/08/2009
Pessoal, a pesquisa com query.locate está funcionado blz...
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+
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;
: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! :)
GOSTEI 0