Locate no change do Edit
Ola. Estou dando um locate no change do Edit... Esse procedimento funciona apenas uma vez... ou seja: digito ´A´, ele localiza o primeiro registro com ´A´... depois digito ´n´ e apesar de existir vários registros com ´An... ´ não acaba achando.
Alguem pode me ajudar? Desde já gradeço.
Alguem pode me ajudar? Desde já gradeço.
Danielclubedelphi
Curtidas 0
Melhor post
Rômulo Barros
21/01/2004
Faz assim:
´dados.ClientDataSet1.locate(´rsocial´, Edit1[color=red:a1b103aa60].text[/color:a1b103aa60], [loCaseInsensitive, loPartialKey]);´,
´dados.ClientDataSet1.locate(´rsocial´, Edit1[color=red:a1b103aa60].text[/color:a1b103aa60], [loCaseInsensitive, loPartialKey]);´,
GOSTEI 1
Mais Respostas
Lindomar.des
21/01/2004
Colega,
tente isso:
tabela.locate(´campo´, texto, [loCaseInsensitive, loPartialKey]);
inclua a unit Db na clausula uses.
tente isso:
tabela.locate(´campo´, texto, [loCaseInsensitive, loPartialKey]);
inclua a unit Db na clausula uses.
GOSTEI 0
Danielclubedelphi
21/01/2004
Lindomar, muito obrigado...
Eu não estava usando os dois: [loCaseInsensitive, loPartialKey]. Usava apenas um...
Mas eu não entendi pq funcionou... vc pode me explicar?
Muito obrigado.
Eu não estava usando os dois: [loCaseInsensitive, loPartialKey]. Usava apenas um...
Mas eu não entendi pq funcionou... vc pode me explicar?
Muito obrigado.
GOSTEI 0
Nebrio
21/01/2004
bem o CaseInsensitive procura pelo texto digitado sem fazer diferença entre maiusculo ou minisculo....e o PartialKey procura por partes do texto digitado...
T+
Nébrio
T+
Nébrio
GOSTEI 0
Lindomar.des
21/01/2004
Obrigado Nébrio.
GOSTEI 0
Programalista
21/01/2004
Caro Lindomar, e quando eu estou usando sqlserver, clientdataset, datamodule....no form eu so tenho o datasource, então como fazer para localizar usando o locate, a partir o onchange de um edit?
Lourival Oliveira
Sete Lagoas - MG
Lourival Oliveira
Sete Lagoas - MG
GOSTEI 0
Rômulo Barros
21/01/2004
Basta mandar usar a Unit do seu DataModule e implementar o código abaixo no evento OnChange do Edit:
DataModule.Tabela.Locate(<Parâmetros>);
DataModule.Tabela.Locate(<Parâmetros>);
GOSTEI 0
Programalista
21/01/2004
Caro Undeclared Identifier,
após a sua sugestão, estou usando o seguinte código:
´dados.ClientDataSet1.locate(´rsocial´, Edit1, [loCaseInsensitive, loPartialKey]);´, no entanto o delphi me apresenta o seguinte erro:
´ [Error] clientes.pas(72): Incompatible types: ´Variant´ and ´TEdit´
[Fatal Error] cadcli.dpr(6): Could not compile used unit ´clientes.pas´ ´
após a sua sugestão, estou usando o seguinte código:
´dados.ClientDataSet1.locate(´rsocial´, Edit1, [loCaseInsensitive, loPartialKey]);´, no entanto o delphi me apresenta o seguinte erro:
´ [Error] clientes.pas(72): Incompatible types: ´Variant´ and ´TEdit´
[Fatal Error] cadcli.dpr(6): Could not compile used unit ´clientes.pas´ ´
GOSTEI 0
Lindomar.des
21/01/2004
Lourival,
Pelo que vi os colegas do forum responderam sua pergunta, mas para não ser indelicado em não te responder também.... basta incluir o datamudule antes do nome da tabela:
datamodule.tabela.locate(´campo´, texto, [loCaseInsensitive, loPartialKey]);
Pelo que vi os colegas do forum responderam sua pergunta, mas para não ser indelicado em não te responder também.... basta incluir o datamudule antes do nome da tabela:
datamodule.tabela.locate(´campo´, texto, [loCaseInsensitive, loPartialKey]);
GOSTEI 0