Array
(
)

Problemas com o Locate

Coelho
   - 21 nov 2005

Ola pessoal,

Estou com um problema com o método locate de uma TQuery.

É o seguinte:

Tenho uma TQuery com 14 colunas. Quanto efetuo um locate em um campo float, alguns valores não são encontrados.

Por exemplo:

O valor 805,31 não é encontrado, já o valor 830,94 é localizado.

Isso só acontece com campos float. Se a minha consulta retornar somente 3 campos, o problema não ocorre.

O mesmo problema ocorreu em mais de um banco de dados. Aconteceu tanto no ClientDataSet com no TQuery. O método filter também apresenta o mesmo comportamento de erro.

Agradeço a quem puder ajudar a encontrar uma solução para este ´misterioso´ comportamento.

Para quem quiser simular o problema, posso enviar a base em sqlserver e o código fonte de um aplicativo que simula o problema.

Atenciosamente
Alexandre Coelho


Edilcimar
   - 21 nov 2005

eu tive um problema parecido com locate usando ibquery e ibtable, se eu escrevessr locate(nomecampo,nomevariável,[]) não aparecia nada porém se escrevesse locate(nomecampo,edit1.text,[]), aparecia de forma correta, para aparecer usando uma variável eu tinha que colocar locate(nomecampo,nomevariavel[lopartialkey]), mesmo para um campo numérico, veja http://forum.clubedelphi.net/viewtopic.php?t=70206


Coelho
   - 21 nov 2005

Já havia visto o tópico que vc mencionou.

Porém não surtiu efeito no meu problema.

Inclusive no bdn não tem nada relatado a este respeito.

Continuo em uma sinuca de bico pois preciso utilizar este recurso da forma como está.


Edilcimar
   - 21 nov 2005

tente alterar para um dos 3 exemplos que dei e veja de dá certo


Coelho
   - 21 nov 2005

Sem sucesso