Tienda | Foros | Blogs | EN |
 

*Visual Basic - format currency en visual basic

Seguir
hola amigos!! tengo un pequeño problema en visual..
tengo un formulario con 5 textbox cada uno se llama ValorT1,2,3,4,5 y otro que se llama ValorTotal..lo que quiero es que me represente estos valores en moneda. anteriormente en mi command ejecutaba esta operacion:
bValorTotal = Val (ValorTotal1) + Val(ValorTotal2) + Val(ValorTotal3) + Val(ValorTotal4) y me sumaba los valores de los campos ValorT
pero ahora al formatear los campos no me ejecuta la operacion...
bValortotal= Format ((ValorTotal1) +(valorTotal2)...), "currency")
solo aparecen los valores de los campos
Alguien puede decirme en que falle?
espero haya sido claro en explicar la operacion
gracias!


3 Soluciones propuestas

Hola:

Lo que te esta pasando es que sacaste el val() de cada campo, como el TextBox es un formato string cuando pones todos string con el mas en realidad te concatena los valores de cada string
Ej: "A"+"B"+"C" = "ABC"
"1"+"2"+"3" = "123"

Deberias poner
bValorTotal = format(Val (ValorTotal1) + Val(ValorTotal2) + Val(ValorTotal3) + Val(ValorTotal4) , "Currency")

con lo cual pasas a sumar numeros en lugar de texto y luego la suma la la formatea como Moneda

Si no se entiende avisame
Gracias Alfredo por el interes en mi problema, con el ejemplo que me diste pude sumar los campos con el valor de numero, y el total me lo devolvio en moneda, pero ahora el problema como lo comente es que quiero sumar todos los campos de valor numero, ahora con el formato de moneda y el gran total me lo devuelva tambien en moneda

bValorTotal = Format( moneda(ValorTotal1) + ...), "currency")
como lo puedo hacer?
y como cambio los campos del texbox a valor moneda?
asi? Private Sub ValorTotal1_Change()
ValorTotal1 = Format(ValorTotal1, "currency")
End Sub
agradeceria me aclaren la duda!
SOLUCIÓN ACEPTADA
Porque no pruebas con el control Microsoft Masked Edit

setea la propiedad Format = $#.##0,00;($#.##0,00)

y en el codigo

Private Sub MaskEdBox1_Change()
MaskEdBox4 = MaskEdBox1 + MaskEdBox2 + MaskEdBox3
End Sub

Private Sub MaskEdBox2_Change()
MaskEdBox1_Change
End Sub

Private Sub MaskEdBox3_Change()
MaskEdBox1_Change
End Sub

Suerte, luego me comentas como te fue