Ir para conteúdo

POWERED BY:

Arquivado

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

giuliano

[Resolvido] Erro ao exibir valores de uma soma.

Recommended Posts

Bom dia a todos do Forum. Eu tenho um carrinho de compra em ASP com Banco Access.

Tabela do banco que quando adiciono o produto no carrinho é a seguinte:

 

Tabela: Pedidos

Campo: PrecoTotal

 

 

 

Tenho um Select que faz a soma total dos valores que estão na tabela PrecoTotal de acordo com a sessão do Cliente e Depois um Respons e Write para exibir o valor Total. O que Ocorre é que meu valor sempre vem errada Por Ex quano o valor que está no banco é 199,90 ele exibi 19.990,00 quando é 35,00 ele exibi 35.000,00 será que alguem poderia me dar uma ajuda com esse problema.

 

Set SomaTotal = Banco.Execute("Select Sum(PrecoTotal) AS SomaTotal FROM Pedidos WHERE Secao = '"& VarCliente &"'")


 Response.Write FormatCurrency(SomaTotal("SomaTotal"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retira o FormatCurrency e posta o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retira o FormatCurrency e posta o resultado.

 

 

 

 

Sem o formatcurrency ele retorna assim o valor de 199,90 assim 19990

 

que tipo de dados tem na coluna PrecoTotal??

 

 

O tipo tá como Texto na Coluna

Compartilhar este post


Link para o post
Compartilhar em outros sites

aconselho você não gravar valores em campos de texto e sim em tipos compativeis com os dados. Se os dados estiverem em uma coluna moeda/money/float... o formatcurrency e o formatnumber funcionarão

 

no seu caso, escreva assim

Response.Write "R$ " & (SomaTotal("SomaTotal"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

aconselho você não gravar valores em campos de texto e sim em tipos compativeis com os dados. Se os dados estiverem em uma coluna moeda/money/float... o formatcurrency e o formatnumber funcionarão

 

no seu caso, escreva assim

Response.Write "R$ " & (SomaTotal("SomaTotal"))

 

 

Fiz do modo que me passou ai o resultado fica asssim R$19990

 

Tambem tentei mudar para unidades monetaria na culuna do banco de dados ai funcionou porem deu erro ao cadastrar um novo produto no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o salgado postou uma solução para esses valores em strings. Se não me engano tem no laboratorio de scripts

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes de manipular substitui virgulas por pontos

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente trocar o FormatCurrency para FormatNumber

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei a função do salgado no meu acervo

function formataMoeda(byVal inteiro)
 dim valor
 dim valor1
 dim valor3
 valor=inteiro
 if valor = "" then 
 valor=0
 end if 
 IF Len(Valor) = 1 THEN
 Valor1 = 0 & ",0" & Valor
 ELSEIF Len(Valor) = 2 THEN
 Valor1 = 0 & "," & Valor
 ELSE
 Valor1 = Left(Valor,Len(Valor)-2) & "," & Right(Valor, 2)
 END IF
 formataMoeda=(formatcurrency(Valor1))
end function

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei a função do salgado no meu acervo

function formataMoeda(byVal inteiro)
 dim valor
 dim valor1
 dim valor3
 valor=inteiro
 if valor = "" then 
 valor=0
 end if 
 IF Len(Valor) = 1 THEN
 Valor1 = 0 & ",0" & Valor
 ELSEIF Len(Valor) = 2 THEN
 Valor1 = 0 & "," & Valor
 ELSE
 Valor1 = Left(Valor,Len(Valor)-2) & "," & Right(Valor, 2)
 END IF
 formataMoeda=(formatcurrency(Valor1))
end function

 

Opa consegui resolver o problema fazendo um Loop no campo ValorTotal da minha tabela pedidos.

 

Agradeço a ajuda de todos galera.

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.