** Ajuda ** Locate no ClientDataSet não localizando os dados da tabela

17/04/2014

0

Boa Tarde!

Pessoal tenho uma tabela Temporária do cds que preciso localizar ums dados para confinação ..
segue Código:
For x := 1 to 3 do
begin
  lGrava := True ;
  if DataModuleGeral.cdsHonorariosRelC.Locate('NOME_ADV', DataModuleGeral.tbHonorariosConsulta.FieldByName('ADVOGADO_ASSISTENTE'+IntToStr(x)).AsString,[]) then
    while DataModuleGeral.cdsHonorariosRelCNOME_ADV.AsString = DataModuleGeral.tbHonorariosConsulta.FieldByName('ADVOGADO_ASSISTENTE'+IntToStr(x)).AsString do
    begin
      if DataModuleGeral.tbHonorariosConsultaNUMERO_PROCESSO.AsString = DataModuleGeral.cdsHonorariosRelCNUMERO_PROCESSO.AsString then
      begin
        lGrava := False;
        Break;
      end;
      DataModuleGeral.cdsHonorariosRelC.Next;
    end;
...
DataModuleGeral.cdsHonorariosRelC.Post;
end;

É assim no sistema eu garbo nesta tabela para gerar um relatório.
ai preciso localizar o no cds se já tem o nome advogado gravado na tabela caso já tenha ele passa a variável como falso e sai se não tem o advogado ele passa variável como Verdadeiro e grava o dado no campo só que ele não esta fazendo isso.
na tabela ele fazendo assim

advogado Proc vlrHono_total vlorHono_Pago
A 123 1000,00 100,00 1ª parcela
A 123 150,00 2ª parcela
B 123 1000,00 100,00 1ª parcela
B 123 150,00 2ª parcela
C 123 1000,00 100,00 1ª parcela
C 123 1000,00 150,00 2ª parcela <= ta o erro não consigo ver o porque dele gravar o vlrHono_total 2x para o memo advogado.
Eduardo Mendonça

Eduardo Mendonça

Responder

Posts

17/04/2014

Wilton Júnior

Tenta fazer a mesma rotina mas tirando o datamodulo tipo:
if clientdataset1.locate('campo',edit1.text,[]) then

tenta assim.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar