alinesf4 0 Denunciar post Postado Setembro 13, 2012 Boa tarde!!! Preciso somar os valores lançandos num dbgrid e colocar num edit fora do Dbgrid, o usuário estaria lançando as prestaçoes referente a uma despesa. Como faço para que a cada prestaçao que ela lança já vai somando os valores e aparecendo num edit??? fico no aguardo, obrigada Compartilhar este post Link para o post Compartilhar em outros sites
FK. 0 Denunciar post Postado Setembro 13, 2012 Você está usando ClientDataSet? Você quer que, a cada registro cadastrado no DBGrid, um valor total seja atribuido ao Edit? Se sim, você pode no evento AfterPost, percorrer por todos os registros no ClientDataSet, e ir somando seus valores numa variável, e por fim, atribuir tal variável a um campo que aponta para um TField do ClientDataSet, que seria o total. Ou armazenar o valor total numa propriedade. Logo, seria mais ou menos assim: procedure Datamodule1.ClientDataSet1AfterPost(Dataset: TDataset); var total: double; // Poderia ser também integer. Depende do tipo de dados que você vai somar. // A variável @total poderia ser um campo privado de uma propriedade pública apenas-leitura // que armazenasse o valor dela. begin if (Dataset.State = dsBrowse) then begin Dataset.First(); while not Dataset.EOF then begin total := Dataset.FieldByName('seuCampo').AsFloat; Dataset.Next(); end; // Agora você tem o total na variável @total. end; end; @seuCampo é o valor presente na propriedade FieldName dos TFields do ClientDataSet. Esse seria o valor-base pra você chegar ao total, ou seja, aquelas prestações. Caso você não tenha um campo TField pro total no ClientDataSet, experimente guardar o valor da variável total numa propriedade pública, pois assim você poderá pegar o valor dela do seu formulário. Compartilhar este post Link para o post Compartilhar em outros sites