DS.Dataset.Locate...dúvida

Delphi

29/09/2004

Saudações,
estou utilizando em meu aplicativo um form de pesquisa semelhante à pesquisa de aplicativos do Office (excel, access - que possuem pesquisa por nome inteiro ou qualquer parte do campo). Está tudo funcionando sem problema algum (o sistema já está implantado), a única dúvida que tenho é esta: como faço para que ao pesquisar uma matricula de número 00001502 o usuário digite apenas 1502 e faça a busca? Eu sei que com a query eu posso fazer isso (like) o problema é que com a query, se eu quero alterar o registro pesquisado a tabela volta para o primeiro registro (a query só serve mesmo para consultar e visualizar). Por isso que eu quero fazer com o ds.dataset.locate porque ele seta realmente o registro pesquisado. Alguém pode me ajudar nisso? Muito obrigado.


Elias Jr

Elias Jr

Curtidas 0

Respostas

Xanatos

Xanatos

29/09/2004

Use Assim!!!
  
  ValorDigitado:= 1502;
  ValorPesquisa:= formatfloat(´00000000´,StrtoFloat(ValorDigitado));



:arrow:


GOSTEI 0
Elias Jr

Elias Jr

29/09/2004

Use Assim!!!
  
  ValorDigitado:= 1502;
  ValorPesquisa:= formatfloat(´00000000´,StrtoFloat(ValorDigitado));

:arrow:


Saudações amigo,
testei sua solução mas não funcionou aqui (fiz tudo direitinho). O problema é o seguinte: testei com a matrícula 0006050573 e digitei apenas 6050573 (é o que eu quero realmente, desconsiderar os zeros à esquerda, não importando a quantidade) mas ele não encontrou o registro. Quando ponho a consulta por nome inteiro e considero os zeros ele consegue localizar. Deu pra entender o que eu quero? Desculpe se eu não soube espressar o que eu realmente queria. Muito obrigado.


GOSTEI 0
Xanatos

Xanatos

29/09/2004

Mas se o Campo matricula é string o FormatFloat tem que funcinar!!! e vc nao podera desconsiderar os Zeros a esquerda se estiver gravado no Banco com eles!!!


´0006050573´ = FormatFloat(´0000000000´,StrtoFloat(´6050573´))

Bom...nao vejo pq nao dar certo!!! Eu uso locate com esse mesmo proposito!!!


GOSTEI 0
Elias Jr

Elias Jr

29/09/2004

Saudações amigo,
novamente peço desculpas a vc. O código funcionou sim, eu fui quem digitou errado (faltando um zero :-P). Só depois comparei a quantidade e vi meu erro. Muito obrigado e novamente me desculpe.


GOSTEI 0
POSTAR