Programación Msum
Incluso si usa decimal, que tiene el rango de datos más grande en VB, siempre es limitado.
Y el máximo resultado posible de tu multiplicación es demasiado grande, por lo que los datos de entrada deben ser limitados.
Por supuesto, otra forma es realizar un manejo de errores y dar un mensaje de error cuando se produce un desbordamiento, para no impedir que el programa continúe ejecutándose.
El código es el siguiente:
¿Opción? Explícito
¿Privado? ¿Sub? Command1_Click()
¿Atenuar? ¿norte? ¿Como? Entero,? ¿metro? ¿Como? Entero,? k? ¿Como? Entero,? suma,? Representante
¿Abierto? ¿error? ¿Ir a? Manejador de errores
n? =?CInt(Texto1.Texto)
m? =?CInt(Texto 2. Texto)
k? =?Normal
SUMA? =?CDec(1)
¿Qué hacer? ¿cuando? k? & lt=?M
SUMA? =?SUMA? *?K
k? =?k? +?1
Timbre
¿Reanudar? cont2
Continúa:
Texto 2. ¿Palabra? =?k? -?1
cont2:
SMS 3. ¿Palabra? =?Suma
¿Salir? Submarino
Manejador de errores:
¿Representa? =?MsgBox("Motivo del error:"?&?Uh.Description,?vbOKOnly,?Uh.Source?&&"Se produjo un error")
¿Reanudar? ¿Fin continuo
? Submarino
¿Privado? ¿Sub? Text1_GotFocus()
Texto1. ¿SelInicio? =?0
Texto1. ¿Serenth? =?Len(Text1.Text)
¿Fin? Submarino
¿Privado? ¿Sub? Text2_GotFocus()
Texto2. ¿SelInicio? =?0
Texto 2. ¿Serenth? =?Len(Texto 2. Texto)
Fin? Submarino