Idea 0 Denunciar post Postado Março 7, 2011 Galera estou com um problema que não consigo achar a solução, estou montando um programa de fluxo de caixa. Está tudo bonitinho só que não sei como programar par obter o saldo, minha tabela está organizada da seguinte maneira Entrada Saída Saldo 100 0 100 0 50 50 Na teória parece muito simples mas como pego o saldo anterio para somar? Estou utizando firebird 7 e conexão com ibexpress. Desde já agraço que puder me ajudar Compartilhar este post Link para o post Compartilhar em outros sites
LCS 0 Denunciar post Postado Março 7, 2011 Galera estou com um problema que não consigo achar a solução, estou montando um programa de fluxo de caixa. Está tudo bonitinho só que não sei como programar par obter o saldo, minha tabela está organizada da seguinte maneira Entrada Saída Saldo 100 0 100 0 50 50 Na teória parece muito simples mas como pego o saldo anterio para somar? Estou utizando firebird 7 e conexão com ibexpress. Desde já agraço que puder me ajudar Bom caso você saiba fazer select,insert,update e delete.. você tem que fazer um select no campo saldo usando o comando last e salve na variável que voce criou para o saldo anterior. ai você faz as novas contas e manda um insert para sua tabela. Abçs, LCS Compartilhar este post Link para o post Compartilhar em outros sites
Idea 0 Denunciar post Postado Março 7, 2011 Estou fazendo desta forma mas está dando erro na hora de gravar, queria saber se tem algo errado. Begin DmCaixaDet.CdsSaldo.Close; DmCaixaDet.CdsSaldo.CommandText:= ('Select Last(Saldo)as tot from CaixaDet where cod_CaixaCab ='+FrmCaixa.EdtCod.Text); DmCaixaDet.CdsSaldo.Open; EdtSaldo.Value := (EdtEntrada.Value - EdtSaida.Value) + DmCaixaDet.CdsSaldo.FieldByName('tot').Value; end E obrigado Lcs pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
LCS 0 Denunciar post Postado Março 7, 2011 Estou fazendo desta forma mas está dando erro na hora de gravar, queria saber se tem algo errado. Begin DmCaixaDet.CdsSaldo.Close; DmCaixaDet.CdsSaldo.CommandText:= ('Select Last(Saldo)as tot from CaixaDet where cod_CaixaCab ='+FrmCaixa.EdtCod.Text); DmCaixaDet.CdsSaldo.Open; EdtSaldo.Value := (EdtEntrada.Value - EdtSaida.Value) + DmCaixaDet.CdsSaldo.FieldByName('tot').Value; end E obrigado Lcs pela ajuda. Hum kd a query de insert? Compartilhar este post Link para o post Compartilhar em outros sites
Idea 0 Denunciar post Postado Março 9, 2011 Estou fazendo desta forma mas está dando erro na hora de gravar, queria saber se tem algo errado. Begin DmCaixaDet.CdsSaldo.Close; DmCaixaDet.CdsSaldo.CommandText:= ('Select Last(Saldo)as tot from CaixaDet where cod_CaixaCab ='+FrmCaixa.EdtCod.Text); DmCaixaDet.CdsSaldo.Open; EdtSaldo.Value := (EdtEntrada.Value - EdtSaida.Value) + DmCaixaDet.CdsSaldo.FieldByName('tot').Value; end E obrigado Lcs pela ajuda. Hum kd a query de insert? Consegui resolver esse problema da seguinte forma, como são dois campos na tabela entrada e saída. Estou utilizando o comando Sum para somar cada um dos campos e depois subtraindo um pelo outro e assim obtendo o Saldo. Como o código está sendo executado toda hora que faço um novo lançamento, com o comando acima explicado consigo o saldo anterior. Pode colocar resolvido no título do tópico e muito obrigado galera pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites