Galera espero que vcs me ajudem!!!! Estou em 5 grupos aqui de Delphi No TeleGram e Whatsapp, mais parece que o pessoal nunca fez esse procedimento no FASTREPORT!!!

Deixa Explicar melhor meu problema!

Tenho um relatório de, Entradas e Saídas!

No Relatório De Movimentação preciso que Apareça os Valores..... Exemplo:

*Total Saídas = 500,00
*Total Entradas = 1000
*Total Saldo = R$500,00


Só que está assim!!!!
TIPO VALOR
Entrada 500,00
Saída 50,00
Entrada 20,00
Saída 10,00
Entrada 20,00

Como eu faço uma função para ele pegar Aquele valor Especifico Do CAMPO correspondente a Entrada?
Como eu faço uma função para ele pegar Aquele valor Especifico Do CAMPO Saída?
Que seria pelo Campo!!! Acho que deve ser a "SUM" mais não tenho idéia como fazer!!

Caso alguém pergunte, eu Uso Banco de Dados "Firebird"!
Uso componentes da paleta "INTERBASE"!!

Espero ter sido claro!!!!
Valsistemasdelphi

Valsistemasdelphi

Responder

Posts

30/07/2019

Thalles Oliveira

Poste sua SQL p/ verificar, mas o select sum é bem básico exemplo com 2 sum's usando left join:

select t.idvenda, t.data ,sum(t.valortotal) as totalvendido, sum(c.valorrecebido) as totalpagar
from tmov t
left join contarecerber c on c.idvenda = t.idvenda
where t.data between '30.07.2019' and '30.08.2019'
group by 1,2

tudo que esta relacionado entre os id's de venda nesse periodo nas 2 tabelas irão totalizar no SUM, mas voce pode incluir uma cláusula p/ ficar melhor no SUM p/ identificar oque ja foi pago com uma flag ou verificando valor baixado..

and (c.valorbaixado = c.valorparcela), p/ evitar erros de campo nulo você pode transformalo-los em 0 usando o coalesce..

and (((coalesce(c.valorbaixado,0)) = (coalesce(c.valorparcela,0))) // encima do group by...

não testei o sql pode haver algum erro ai mas é isso ai..

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