Balancete Contábil
Preciso mostrar em um relatório o saldo de cada conta, minha tabela de lancamentos eh:
codlancamento
nroConta
valor
tipo (´c´ ´d´)
data
Estou usando paradox. Com esta consulta consigo pegar os credito e debitos
agora preciso creditos d debitos para gerar o saldo por conta.
[/b]
codlancamento
nroConta
valor
tipo (´c´ ´d´)
data
Estou usando paradox. Com esta consulta consigo pegar os credito e debitos
select nroConta Contas, sum(valor) as Debito from tbItems where tipo = ´d´ e ´c ´ para os creditos group by nroConta
agora preciso creditos d debitos para gerar o saldo por conta.
[/b]
Zion
Curtidas 0
Respostas
Fknyght
04/07/2004
Ai veio e melhor voce fazer duas consultas na sua tabela
tipo assim
Espero ter ajudado
:wink:
tipo assim
Var
C , D : Currency;
Begin
Query1.Close;
Query1.Sql.Clear();
Query1.Sql.Add(´select nroConta Contas, sum(valor) as Debito from tbItems where tipo= :tipo group by nroConta ´);
Query1.Params[ 0 ].AsString := ´C´;
Query1.Open;
Try C := Query1.Fields[ 1 ].AsCurrency; Except C := 0; End;
Query1.Close
Query1.Params[ 0 ].AsString := ´D´;
Query1.Open;
Try D := Query1.Fields[ 1 ].AsCurrency; Except D := 0; End;
Query1.Close;
end;
As Variaves C e D agora possuem respectivamente o Crédito e o Debito, agora e so fazer o que você precisa
Espero ter ajudado
:wink:
GOSTEI 0
Zion
04/07/2004
na verdade eu tenho q mostrar isso em um relatório então não há passagem d parametros a consulta tem q estar pronta na hora q eu executar o relatorio tem q estar da seguinte forma:
nroConta NomeConta valorcredito valordebito saldo
11101 Caixa 100,00 50,00 50,00
11102 Banco Cont 120,00 -120,00
21001 Fornecedore 70,00 70,00
sendo q nos razonetes eu tenho
nroConta Nome Valor Tipo nrLancamento
11101 Caixa 100,00 c 27
11102 BancoCont.. 100,00 d 27
11102 BancoCont.. 20,00 d 28
21001 Fornecedore 20,00 c 28
11101 Caixa 50,00 d 29
21001 Fornecedore 50,00 c 29
Eu usei duas query´s
uma contem
que pega os debitos
e a outra
com os creditos
ae na query q contém os credito eu fiz um lookup para pegas os debitos atraves do nroConta, mas isso soh funciona qndo a conta contem o mesmo numero de creditos e debitos
Não sei como fazer...[size=9:57ed509350][/size:57ed509350]
nroConta NomeConta valorcredito valordebito saldo
11101 Caixa 100,00 50,00 50,00
11102 Banco Cont 120,00 -120,00
21001 Fornecedore 70,00 70,00
sendo q nos razonetes eu tenho
nroConta Nome Valor Tipo nrLancamento
11101 Caixa 100,00 c 27
11102 BancoCont.. 100,00 d 27
11102 BancoCont.. 20,00 d 28
21001 Fornecedore 20,00 c 28
11101 Caixa 50,00 d 29
21001 Fornecedore 50,00 c 29
Eu usei duas query´s
uma contem
select nroConta Contas, sum(valor) as Debito from tbItems where tipo = ´d´ group by nroConta
que pega os debitos
e a outra
select nroConta Contas, sum(valor) as Credito from tbItems where tipo = ´c´ group by nroConta
com os creditos
ae na query q contém os credito eu fiz um lookup para pegas os debitos atraves do nroConta, mas isso soh funciona qndo a conta contem o mesmo numero de creditos e debitos
Não sei como fazer...[size=9:57ed509350][/size:57ed509350]
GOSTEI 0
Fknyght
04/07/2004
Veio voce pode fazer intaum é uma [b:99ed09d122]UNION[/b:99ed09d122]
Veja o sql abaixo
Para fazer uma [b:99ed09d122]UNION[/b:99ed09d122] os campos dos dois SELECTS tem que ser identicos ( tamanho, ordem, tipo etc etc )
Para você diferenciar o debito do crédito e facil, no primeiro select eu multipliquei o valor do SUM(TOTAL) por -1, dai vc via programação trata o valor do debito e do crédito. Ai vai depender de como você manda o relatório.
Espero ter ajuda-lo novamente :wink:
Veja o sql abaixo
select nroConta Contas, ( sum(valor) * -1 ) as Valor from tbItems where tipo = ´d´
union
select nroConta Contas, sum(valor) as Valor from tbItems where tipo = ´c´
group by nroConta
Para fazer uma [b:99ed09d122]UNION[/b:99ed09d122] os campos dos dois SELECTS tem que ser identicos ( tamanho, ordem, tipo etc etc )
Para você diferenciar o debito do crédito e facil, no primeiro select eu multipliquei o valor do SUM(TOTAL) por -1, dai vc via programação trata o valor do debito e do crédito. Ai vai depender de como você manda o relatório.
Espero ter ajuda-lo novamente :wink:
GOSTEI 0
Zion
04/07/2004
Fazendo assim qndo eu edito os campos da query ela soh mostra Contas e valor
na verdade eu preciso o saldo de cada conta então eu preciso somar todos os creditos da conta - seus debitos
Seria como se fosse assim:
na verdade eu preciso o saldo de cada conta então eu preciso somar todos os creditos da conta - seus debitos
Seria como se fosse assim:
select nroConta Contas, sum(valor) as Credito from tbItems where tipo = ´c´ group by nroConta - select nroConta Contas, sum(valor) as Debito from tbItems where tipo = ´d´ group by nroConta
GOSTEI 0