sumar variables

SUSANA
21 de Abril del 2005
como realizar la suma de variables currency
debemos sumar variables que se encuentran en un textbox
si usamos el + nos concatena los campo
si usamos el val(var.txt) + val(var1.txt) nos suma pero no nos toma los decimales
se entendio, gracias

ro
21 de Abril del 2005
prueba este ejemplo

en un form pon 3 cajas de texto y un boton de comando.

en el evento click de boton pega esto:
Dim t1, t2, suma As Double
Text1.Text = Format$(Text1.Text)
Text2.Text = Format$(Text2.Text)
t1 = Val(Text1.Text)
t2 = Val(Text2.Text)
If t1 = Val(Text1.Text) And t2 = Val(Text2.Text = "") Then
Text3.Text = ""
Else
If t1 = Val(Text1.Text = "") And t2 = Val(Text2.Text) Then
Text3.Text = ""
Else
If t1 = Val(Text1.Text = "") And t2 = Val(Text2.Text = "") Then
Text3.Text = ""
Else
If t1 = Val(Text1.Text) And t2 = Val(Text2.Text) Then
suma = t1 + t2
Text3.Text = Str$(suma)
Text1.Text = Format$(Text1.Text, "$ #,##0.00")
Text2.Text = Format$(Text2.Text, "$ #,##0.00")
Text3.Text = Format$(Text3.Text, "$ #,##0.00")
End If
End If
End If
End If

espero te sirva

eduardocab
21 de Abril del 2005
Ok, esto es lo que tienes que hacer:
El formato "Val" así como tambien el "Format" generan variables o campos numéricos que los toma como numeros enteros.
Existen dos tipos de variables que pueden ayudarte a resolver eso.
La Variable CDbl y/o la variable CCur
Estas dos sí te generan un campo decimal.
Ahora bien, tienes que darles formato numérico decimal a tus Cajas de texto (TextBox)
Para eso te pogo el siguiente ejemplo:

Crea en un form 3 cajas, en el cual te doy el ejemplo siguiente:

text1 = Cantidad 1
text2 = Cantidad 2
text3 = total

A continuación le damos el formato a los textbox (acá ocupamos la variante "CCur" en el evento LostFocus de cada textbox:

Private Sub Text1_LostFocus()
If Text1 = "" Then
Text1.Text = "0,00"
End If-
Text1.Text = Format(CCur(Text1.Text), "###,###,##0.00")
End Sub
-----------------------------------------------------
Private Sub Text2_LostFocus()
If Text2 = "" Then
Text2.Text = "0,00"
End If
Text2.Text = Format(CCur(Text2.Text), "###,###,##0.00")
End Sub
------------------------------------------
Private Sub Text3_LostFocus()
If Text3 = "" Then
Text3.Text = "0,00"
End If
Text3.Text = Format(CCur(Text3.Text), "###,###,##0.00")
End Sub

Una vez terminado de colocar el formato del texto visualiza los textbox en modo grafico (que es el modo cuando haces los texbox) y a cada textbox colocale 0,00 en "text" (en la propiedad de cada textbox). Esto servirá para que no te de error.

El siguiente paso es colocar un commandbutton, puedes ponerle sumar si quieres o como quieras en "Caption" (siempre en las propiedades)
en el código del commandbutton colocaremos:

Text3.Text = CDbl(Text1.Text) + CDbl(text2.Text)

Si vas a utilizar una base de datos access para este ejemplo ( si quieres guardar los datos) tienes que colocar en los campos Cantidad1, Cantidad2 y Total (de la DB) en formato moneda ó número decimal

Eso es todo, espero y te sirva, cualquier duda o si necesitas un ejemplo con gusto te lo desarrollo, solo avísame.
Saludos

EduardoCab