Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Inside

Pegar Subtotais e gerar Total Geral

Recommended Posts

Caros amigos,

 

preciso gerar o total em um relatório mas não estou conseguindo. Vou tentar explicar:

 

Em um tabela eu tenho isso: Cada venda fica em uma linha apenas do DB, ex:

 

Nesta linha tenho o produto, quantidade e valor: produto1, quant1, valor1, produto2, quant2, valor2, pr3, produto3, valor3, (Só são 3 produtos por compra então fiz assim em linha única)

 

Precisei gerar um relatório de cada linha separada por ID. Fiz a conta quantidade * valor e mostro a venda na tela, inclusive com seu total geral porque a venda está em linha só e capto os valores pelo ID, por isso foi fácil.

 

Mas agora preciso gerar um relatório que soma todos as linhas, tipo venda por mês.

 

Consigo que na tela mostre o subtotal de cada venda (linha) normalmente, mas conseguo somar estes subtotais e gerar o Total Geral.

 

Alguém pode ajudar como faço para gerar esse total geral por linha? Como posso fazer isso.

 

Já tentei gravar em uma variável mas o script está pegando apenas a última venda.

 

Obrigado pela atenção de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensei em gerar uma variável dinâmica do tipo:

 


do while not rs_v.eof

rcount1 = rcount1 + 1

total1 = rs_v("valor_pr1") * rs_v("pr_quant1")
total2 = rs_v("valor_pr2") * rs_v("pr_quant2")
total3 = rs_v("valor_pr3") * rs_v("pr_quant3")

total_fin&rcount1 = total1 + total2 + total3

 

Mas não consegui numerar a variável para: total_fin1, total_fin2, total_fin3 ....

 

Já tentei por array mas não consegui também.

 

Alguém pode ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não sei se te ajuda, mas quando eu precisava somar campos especificos na tabelas eu já chamava assim:

sqldiff = "Select SUM (valor) as TOTAL from TABELA Where DATA_PED BETWEEN #"&vardata1&"# and  #"&vardata&"# and situacao In ('Pago')"
rs = Conexao.execute (sqldiff)

 

Nesse caso ele soma todo o campo valor conforme a condição e depois você só infoma um rs("total")

 

É um jeito antigo de fazer mas funciona!

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Ulisses

 

eu programo em ASP a anos mas não sou um grande programador.

 

Algumas coisas é difícil fazer. Então pesquiso ou pergunto aqui no fórum.

 

Já vi essa função SUN em alguns lugares, mas a questão é que tenho que fazer uma conta na linha primeiro e obter um subtotal.

 

Que está sendo feito assim (funciona):

 


total1 = rs_v("valor_pr1") * rs_v("pr_quant1")
total2 = rs_v("valor_pr2") * rs_v("pr_quant2")
total3 = rs_v("valor_pr3") * rs_v("pr_quant3")

total_fin&rcount1 = total1 + total2 + total3

 

 

 

Porque o cliente quer saber quanto foi o total de cada venda e até ai beleza.

 

Agora preciso pegar todos os subtotais e gerar um total geral.

 

É isso que tá difícil.

 

Vou ver se consigo por essa função SUN.

 

Se alguém puder dar mais contribuições agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

com certeza a melhor opção é usar a função SUM do SQL, como citado pelo nosso amigo acima, olha um exemplo:

 

A função SUM() retorna a soma total de uma coluna numérica.

 

Sintaxe SQL do SUM()

 

SELECT SUM(nome_coluna) FROM nome_tabela

 

Exemplo de SQL SUM()

 

Temos a seguinte tabela "Ordens":

 

Untitled-22.png

 

Agora queremos encontrar a soma de todos os campos "Preco_Ordem".

 

Nós usamos o seguinte comando SQL:

 

SELECT SUM(Preco_Ordem) AS PrecoTotal FROM Ordens

 

O resultado ficará assim:

 

PrecoTotal

 

5700

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou fazendo um teste mas apareceu um problema,. o campo de valor em real está em texto.

 

Alguém sabe como colocar um valor assim: 10,50 em um campo MySQL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

converte ele use o CONVERT ou CAST

 

com Convert

SELECT CONVERT(INT, SuaVarcharCol) FROM Tabela

 

Com Cast

SELECT CAST(SuaVarcharCol AS INT) FROM Table

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.