Ir para conteúdo
Fórum Script Brasil
  • 0

Como Somar Valores Em Uma Consulta De Access


maxwell2

Pergunta

Olá Amigos estou fazendo uma simples lista de produtos e gostaria do auxilio de algum membro que pudesse me ajudar a incluir a opção de somar valores exibidos nessa consulta, seria Valor Total em Mercadorias e Valor Total em R$, acredito que isso deve ser facil pra quem conhece um pouco de ASP. Veja o codigo:

<%Language = "VBScript"%>
<%Category = request.Querystring%>



<%
If Category = "" then
response.Write("não consta")
else
end if
Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Conn.Open "DBQ=" & Server.Mappath("../../../dados/sistema.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
SQL = "SELECT id_fluxo_caixa, id_venda,  produto, funcionario_venda, valor_venda, quantidade, id_produto, status  FROM fluxo_caixa  WHERE (funcionario_venda = '" & Category & "') AND status='aberto'"
rs.Open SQL, Conn
%>

<%
For x = 1 to 100
If rs.eof then
Exit For
Else
%>


<% =rs("produto")%>: <% =rs("quantidade")%> R$ <% =rs("valor")%><br>

<%
rs.MoveNext
End If
Next
%>

Valor Total em Mercadorias:
Valor Total em R$:

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

"Valor Total em Mercadorias" e "Valor Total em R$" seriam a soma de quais colunas no BD?

Quanto a isso:

<%
For x = 1 to 100
If rs.eof then
Exit For
Else
%>


<% =rs("produto")%>: <% =rs("quantidade")%> R$ <% =rs("valor")%><br>

<%
rs.MoveNext
End If
Next
%>
Substitua por:
<%
While Not rs.EOF
    Response.Write rs("produto") & ": " & rs("quantidade") & " R$ " & rs("valor") & "<br>"
    rs.MoveNext
Wend
%>

Que terá o mesmo efeito.

Editado por Bicicleta
Link para o comentário
Compartilhar em outros sites

  • 0

Olá Bicicleta, a sua sugestao so fez o que o meu codigo já fazia mas sem o loop.

E como sou iniciante não consegui fazer nenhuma alteração.

Na pratica o codigo faria o seguinte:

Produto | Quantidade | Valor

____________________________

Carro | 1 | 4,00

Mesa | 4 | 10,00

Lapis | 2 | 5,00

Isso ai em cima eu já tenho com o codigo que postei. O que eu queria incluir alem disso é:

Total de produtos: 7

Total em R$: 19,00

Mas se possivel sem mexer muito na estrutura do codigo que eu postei, pois como disse sou iniciante e esse codigo seria o que eu já me "acostumei" a usa-lo.

Link para o comentário
Compartilhar em outros sites

  • 0

Crie duas variaveis acumuladoras então, seguindo o codigo do Bicicleta:

<%
totalProdutos = 0
totalReal = 0

While Not rs.EOF
    Response.Write rs("produto") & ": " & rs("quantidade") & " R$ " & rs("valor") & "<br>"

totalProdutos = totalProdutos + rs("quantidade")
totalReal = totalReal + rs("valor")

rs.MoveNext
Wend

response.write "Total de Produtos: " & totalProdutos
response.write "Total em R$: " & totalReal
%>

testa ae

Link para o comentário
Compartilhar em outros sites

  • 0
Crie duas variaveis acumuladoras então, seguindo o codigo do Bicicleta:

<%
totalProdutos = 0
totalReal = 0

While Not rs.EOF
    Response.Write rs("produto") & ": " & rs("quantidade") & " R$ " & rs("valor") & "<br>"

totalProdutos = totalProdutos + rs("quantidade")
totalReal = totalReal + rs("valor")

rs.MoveNext
Wend

response.write "Total de Produtos: " & totalProdutos
response.write "Total em R$: " & totalReal
%>

testa ae

Andreia obrigado pela ajuda ... é quase isso. Na verdade o codigo até funcionou mas se a QUANTIDADE for maior que 1 o valor total ignora.

Exemplo: Se o resultado da consulta for:

Caderno | 2 peças | 5,00 (cada)

Lapis | 3 peças | 2,00 (cada)

O resultado no seu codigo em R$ é 7,00 mas o correto seria 16,00 (10,00 de caderno e 6,00 de lapis)

Pode me ajudar nessa modificação?

Link para o comentário
Compartilhar em outros sites

  • 0

Multiplica o valor pela quantidade e soma as variáveis criadas pela Andréia:

<%

totalProdutos = 0

totalReal = 0

While Not rs.EOF

Response.Write rs("produto") & ": " & rs("quantidade") & " R$ " & rs("valor") & "<br>"

totalProdutos = totalProdutos + CINT(rs("quantidade"))

totalReal = totalReal + (CDBL(rs("valor")) * CINT(rs("quantidade")))

rs.MoveNext

Wend

response.write "Total de Produtos: " & totalProdutos

response.write "Total em R$: " & totalReal

%>

Abraço.

Editado por Bicicleta
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...