Fórum Usando locate no ADO #165797
20/06/2003
0
No paradox usava isso:
Como usar esse mesmo metodo no ado? locate??
Agradeço! :lol:
procedure TForm1.Tabela2BeforeDelete(DataSet: TDataSet); var atual: integer; begin Tabela1.FindKey([´Produto´]); Tabela1.Edit; atual:= Tabela1quant.asInteger; Tabela1quant.value:= atual + Tabela2Quant.Value; Tabela1.Post; end; end.
Como usar esse mesmo metodo no ado? locate??
Agradeço! :lol:
Njunior
Curtir tópico
+ 0
Responder
Posts
21/06/2003
Carlosrm
NJunior,
Sua resposta está na própria pergunta. Sim, deve usar Locate(). Porém, para que o Locate() funcione no Delphi 6, é necessário acrescentar a unit Variants, na cláusula uses. Se não estiver incluída em uses, será necessário incluir manualmente a unit DB também.
Uses Windows, ... Variants, DB;
No lugar de FindKey(), para o ADO use Locate()
Tabela1.Locate(´Tab1Prod´, produto, []);
Se for uma pesquisa em mais de um campo ao mesmo tempo, faça:
Tabela1.Locate(´Tab1Prod : Tab1Saldo´ , VarArrayOf( [produto, 36] ); [] );
Locate pesquisa independentemente de o(s) campo(s) estar(em) indexado(s). Em campos indexados a pesquisa EM GERAL é mais rápida.
Exceção: dataset com poucos itens ou quando o item procurado está entre os primeiros).
Tab1Prod e Tab1Saldo são nomes de campos da tabela a pesquisar.
Observe que entre os campos a serem pesquisados a separação se faz com ponto e vírgula.
Se não ajudou, espero não ter atrapalhado. carlosrm :wink:
Sua resposta está na própria pergunta. Sim, deve usar Locate(). Porém, para que o Locate() funcione no Delphi 6, é necessário acrescentar a unit Variants, na cláusula uses. Se não estiver incluída em uses, será necessário incluir manualmente a unit DB também.
Uses Windows, ... Variants, DB;
No lugar de FindKey(), para o ADO use Locate()
Tabela1.Locate(´Tab1Prod´, produto, []);
Se for uma pesquisa em mais de um campo ao mesmo tempo, faça:
Tabela1.Locate(´Tab1Prod : Tab1Saldo´ , VarArrayOf( [produto, 36] ); [] );
Locate pesquisa independentemente de o(s) campo(s) estar(em) indexado(s). Em campos indexados a pesquisa EM GERAL é mais rápida.
Exceção: dataset com poucos itens ou quando o item procurado está entre os primeiros).
Tab1Prod e Tab1Saldo são nomes de campos da tabela a pesquisar.
Observe que entre os campos a serem pesquisados a separação se faz com ponto e vírgula.
Se não ajudou, espero não ter atrapalhado. carlosrm :wink:
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)