Fórum pesquisar usando o locate #419904

13/07/2012

0

boa noite pessoal, estou fazendo uma pesquisa dentro do delphi/mysql e usei o locate, mas qdo faco a pesquisa, digito no edit o codigo do produto..ex 40, ele busca o codigo 440...so acha codigos grandes..nao esta buscando o codigo que digito..por que? estou fazendo assim...ja tentei com os 2 tipos..

procedure Tfrmtelaprod.Edit1Change(Sender: TObject);
begin
if edit1.Text <> then
if not dmlojas.ZQueryprodutos.Locate(codprod,edit1.Text,[loCaselnsensitive,loPartialKey])then
begin
MessageDlg(Codigo nao encontrado.,mtError,[mbOK],0);
edit1.SetFocus;
edit1.Clear;
end;
end;

*****************************************************

procedure Tfrmtelaprod.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
if not dmlojas.ZQueryprodutos.Locate(codprod,edit1.Text,[loCaseInsensitive, loPartialKey])then
begin
MessageDlg(Codigo nao encontrado.,mtError,[mbOK],0);
edit1.SetFocus;
edit1.Clear;
end;
end;

***************************************
eu uso este mesmo tipo buscando o campo descricao e funciona perfeitamente...o que esta errado?
desde ja agradeço...
Jose Maria

Jose Maria

Responder

Posts

14/07/2012

Joel Rodrigues

Quando você usa o loPartialKey, será localizado o primeiro registro que contenha o 40 em seu código. Tente não usar o lloPartialKey para que só sejam localizados textos exatos.
Responder

Gostei + 0

25/07/2012

Jose Maria

deu certo...valeu pela dica obrigado...
Responder

Gostei + 0

25/07/2012

Deivison Melo

Por favor, encerrar o tópico!

Responder

Gostei + 0

25/07/2012

Joel Rodrigues

Que bom que deu certo.
Boa sorte em seus projetos.
Estou encerrando o tópico.
Responder

Gostei + 0

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

Aceitar