Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2011, 07:19
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Limpiar Textbox evento change

El error lo muestra porque intenta multiplicar el caracter espacio que no es un numero.
Lo primero que tienes que hacer es que cuando uses el valor de un textbox te asegures antes de que contienen numeros.
El fallo mas gordo lo tienes cuando permites que la sub se llame a si misma.
Si no puedes evitar que la sub se llame, como es tu caso, lo que tienes que hacer es poner un flag o aviso que impida que se procese el código de la sub cuando es ella la que se llama a si misma o simplemente cuando la sub se esta ejecutando.
Para eso puedes usar una variable estática.

Código vb:
Ver original
  1. Private Sub Text1_Change()
  2.  
  3.   Static EnUso As Boolean
  4.   If EnUso=True Then Exit Sub
  5.   EnUso=True
  6. ...
  7. ...
  8. el codigo de la sub
  9. ...
  10. ...
  11.   EnUso=False
  12.  
  13. End Sub
De todas formas dentro de la sub cuando uses el textbox convierte el texto al formato numérico:
Resultado=1500 * Val(Text1)
Si el texto no contiene numeros el valor devuelto es 0, que no genera errores.
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Última edición por pkj; 14/05/2011 a las 07:28