Sumar varios en un textbox

Como estas... Por favor necesito otra ayuda .. Necesito sumar varios productos en un texbox.. Mi código esta así:
Private Sub Text16_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If IsNumeric(Text16) Then
Dim precio As Double
Dim iva As Double
Dim descuento As Double
Dim precant As Double
Dim preiva As Double
Dim predesc As Double
descuento = Val(Text12) * (Val(Text13) / 100)
iva = Val(Text12) * (Val(Text14) / 100)
predesc = Val(Text12) - descuento
preiva = predesc + iva
precant = preiva * Val(Text16)
Text19 = precant
Text9 = "": Text10 = "": Text11 = "": Text12 = "": Text13 = "": Text14 = ""
Text15 = "": Text16 = ""
Text9.SetFocus
Else
MsgBox "Error..Ingrese sólo Números", vbCritical + vbOKOnly, "Mensaje del Sistema"
Text16 = ""
Text16.SetFocus
End If
End If
En este text16 es donde yo le doy enter y el resultado se va mostrando en el text19 que es el total... Pero cuando quiero ingresar otro producto se borra el precio del otro producto que coloque... Osea la operación solo lo trabaja individual ... Ese es mi problema sera que me puedes ayudar y decirme que más colocar para que se pueda sumar todos los precios de los productos que vaya ingresando.. Por favor aaa y si no es mucha molestia me lo puedes escribir completo...

1 respuesta

Respuesta
1
Jaja. Yo te lo escribo completo solo que tu leíste apresuradamente la vez anterior.
Lo que esta pasando es que todas tus variables están declaradas a nivel LOCAL es decir siempre que deas CLICK al botón "CALCULAR - por darle un nombre" todas las variables se inicializaran con cero es por eso que no te esta acumulando nada.
¿Lo qué tu quieres son variables que acumulen y no pierdan el valor anterior verdad? Entonces deberías usar variables GENERALES.
Las Variables Locales son declaradas en el mismo procedimiento es decir entre el Private Sub y End Sub. Las Generales se declaran en la parte supurior como PRIMERA LINEA DE TODO EL CODIGO. Es ahí donde tienes que poner las variables que quieres que acumulen como por ejemplo el precio total o importe total como lo tengas declarado
Tu código seria este, te marco de negrita las 2 únicas lineas que debes cambiar:
Private Sub Text16_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If IsNumeric(Text16) Then
Dim precio As Double
Dim iva As Double
Dim descuento As Double
' Dim precant As Double ' Esto lo quitas de aca y lo pones en GENERALES como primera linea de codigo
Dim preiva As Double
Dim predesc As Double
descuento = Val(Text12) * (Val(Text13) / 100)
iva = Val(Text12) * (Val(Text14) / 100)
predesc = Val(Text12) - descuento
preiva = predesc + iva
precant = (precant) + preiva * Val(Text16)
Text19 = precant
Text9 = "": Text10 = "": Text11 = "": Text12 = "": Text13 = "": Text14 = ""
Text15 = "": Text16 = ""
Text9.SetFocus
Else
MsgBox "Error..Ingrese sólo Números", vbCritical + vbOKOnly, "Mensaje del Sistema"
Text16 = ""
Text16.SetFocus
End If
End If
*****************************
Hola ... jajajaja.. pues si esta vez lo leí muy detenidamente, aunque' no hacia falta, la explicada fue buena... EXCELENTE... gracias, gracias, gracias, gracias mil gracias.. hasta pronto, cuidate

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas