Ir para conteúdo

POWERED BY:

Arquivado

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

mows

[Resolvido] Somando vários resultados de outras somas

Recommended Posts

Bom dia pessoal, estou com uma dúvida.

Estou querendo gerar a soma de várias somas. Explico: no código abaixo eu faço a soma de um registro feito em vários campos diferentes, tal como hotel+transporte+combustivel+...

Ao final dessa soma ele me retorna um resultado que mostro como total, na linha grafada em vermelho.

 

Eu gostaria de saber como eu poderia somar todas essas somas, seria dentro ou fora do while?! Como proceder?!

 

Agradeço a ajuda.

 

 

CODE

<%if not RsNotas.eof then %>

 

<TABLE WIDTH=100% ALIGN=center BORDER=1 CELLSPACING=1 CELLPADDING=1>

<TR>

<TD align=center><STRONG>data</STRONG></TD>

<TD align=center><STRONG>nota</STRONG></TD>

<TD align=center><STRONG>registro</STRONG></TD>

<TD align=center><STRONG>descricao</STRONG></TD>

<TD><STRONG>hotel</STRONG></TD>

<TD align=center><STRONG>transporte</STRONG></TD>

<TD align=center><STRONG>combustivel</STRONG></TD>

<TD align=center><STRONG>alimentacao</STRONG></TD>

<TD align=center><STRONG>telefone</STRONG></TD>

<TD align=center><STRONG>lazer</STRONG></TD>

<TD align=center><STRONG>diversos</STRONG></TD>

<TD align=center><STRONG>TOTAL</STRONG></TD>

</TR>

 

<%

while not RsNotas.eof

Response.Write("<TR>")

Response.Write("<TD align=left>"&RsNotas("data")&"</TD>")

Response.Write("<TD align=left>"&RsNotas("codnota")&"</TD>")

Response.Write("<TD align=left>"&RsNotas("registro")&"</TD>")

Response.Write("<TD align=left>"&RsNotas("descricao")&"</TD>")

Response.Write("<TD align=right>"&RsNotas("hotel")&"</TD>")

Response.Write("<TD align=right>"&RsNotas("transporte")&"</TD>")

Response.Write("<TD align=right>"&RsNotas("combustivel")&"</TD>")

Response.Write("<TD align=right>"&RsNotas("alimentacao")&"</TD>")

Response.Write("<TD align=right>"&RsNotas("telefone")&"</TD>")

Response.Write("<TD align=right>"&RsNotas("lazer")&"</TD>")

Response.Write("<TD align=right>"&RsNotas("diversos")&"</TD>")

 

StrSql = "SELECT SUM(CAST(REPLACE(REPLACE(hotel,'.',''),',','.') AS FLOAT) " & _

"+ CAST(REPLACE(REPLACE(transporte,'.',''),',','.') AS FLOAT) " & _

"+ CAST(REPLACE(REPLACE(combustivel,'.',''),',','.') AS FLOAT) " & _

"+ CAST(REPLACE(REPLACE(telefone,'.',''),',','.') AS FLOAT) " & _

"+ CAST(REPLACE(REPLACE(lazer,'.',''),',','.') AS FLOAT) " & _

"+ CAST(REPLACE(REPLACE(diversos,'.',''),',','.') AS FLOAT) " & _

"+ CAST(REPLACE(REPLACE(alimentacao,'.',''),',','.') AS FLOAT)) AS total " & _

"FROM DespesasViagens_Notas " & _

"where codNOTA = "&RsNotas("codnota")&" "

Set RsTotal = ConSql.Execute(strSql)

 

 

Response.Write("<TD align=right>"&RsTotal("total")&"</TD>")

Response.Write("</TR>")

RsNotas.movenext

wend

Response.Write("<tr>")

Response.Write("<td colspan=4>SubTotal</td>")

Response.Write("<td align=right>"&RsSubHotel("soma")&"</td>")

Response.Write("<td align=right>"&RsSubTransporte("soma")&"</td>")

Response.Write("<td align=right>"&RsSubCombustivel("soma")&"</td>")

Response.Write("<td align=right>"&RsSubAlimentacao("soma")&"</td>")

Response.Write("<td align=right>"&RsSubTelefone("soma")&"</td>")

Response.Write("<td align=right>"&RsSubLazer("soma")&"</td>")

Response.Write("<td align=right>"&RsSubDiversos("soma")&"</td>")

Response.Write("<td align=right></td>")

Response.Write("</tr>")

%>

 

</TABLE>

<%end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

gerou algum erro com isso que fez?

Não, este código está rodando normal.

Só o copiei pra dar uma visão geral da tela.

 

Gostaria de pegar aquelas somas e somá-las gerando um total geral, só não tive idéia de como ainda.

Alguma sugestão?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

armazena em outra variavel a cada passagem no laço e depois exibe o resultado desta outra variavel

Compartilhar este post


Link para o post
Compartilhar em outros sites

armazena em outra variavel a cada passagem no laço e depois exibe o resultado desta outra variavel

fiz isso, porém dentro ou fora do while o resultado é 0.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao

 

voce seta a variavel como 0 antes do while e depois soma sempre o valor que ta nela com o da soma daquela passagem pelo loop

 

se algum total for diferente de zero ela nao será zero

Compartilhar este post


Link para o post
Compartilhar em outros sites
CODE

dim total_tudo, totalMax

total_tudo = 0

while not RsNotas.eof
...

if not RsTotal.eof then
intTotal = RsTotal("total")
end if

totalMax = CINT(total_tudo) + CINT(inttotal)

response.write ("<tr><td>"&totalMax&"</td></tr>")


dá uma olhada Mário, agora ele me retorna resultado 8.
sendo que tenho registros de 500,00 e outros variados.
com certeza to fazendo algo de errado, só não sei o que.
:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente seria:

Total_Geral = 0
While Not SeuRS.EOF
'...
Total_Geral = TotalDaContaQueFezNoWhile
Wend
Response.Write Total_Geral

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente seria:

Total_Geral = 0
While Not SeuRS.EOF
'...
Total_Geral = TotalDaContaQueFezNoWhile
Wend
Response.Write Total_Geral

assim ele me traz apenas a última soma.

e como eu faço várias dentro do while, quero pegar todas as somas e somá-las, assim gerando o resultado geral.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perdão, errei feio mesmo:

Total_Geral = 0
While Not SeuRS.EOF
'...
Total_Geral = Total_Geral + TotalDaContaQueFezNoWhile
Wend
Response.Write Total_Geral

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perdão, errei feio mesmo:

Total_Geral = 0
While Not SeuRS.EOF
'...
Total_Geral = Total_Geral + TotalDaContaQueFezNoWhile
Wend
Response.Write Total_Geral

Muito obrigado Salgado, agora deu certo.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema no codigo qeu voce tentou fazer é que voce nao somou a variavel com ela mesmo antes de somar com as outras somas por isso nao funcionava

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.