Visual Basic - problemilla

Life is soft - evento anual de software empresarial
 
Vista:

problemilla

Publicado por lau (1 intervención) el 26/11/2006 18:07:53
Ola muy wenas a todos

vereis en mi empresa trabajamos con vb6 y tengo q hacer un programilla muy raro xD

y tengo un problemilla:

tengo que leer una variable del tipo integer y tengo q tratar los posibles errores, pero al intentar tratar un error del tipo overflow no se como hacerlo. X ej. si introduco un caracter en vez de un entero no se como puedo tratarlo.
Si alguno saveis como puedo solucionarlo decidmelo pleasse

dia = InputBox("Dame el dia")

If Err.Number Then

MsgBox "Error. El dia es incorrecto", vbCritical, "ERROR!!!"
Exit Sub


End If






If ((dia < 0) Or (dia > 31)) Then

MsgBox "Error. El dia es incorrecto", vbCritical, "ERROR!!!"

End If




Loop While ((dia < 0) Or (dia > 31))


salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problemilla

Publicado por AlbertoV (200 intervenciones) el 26/11/2006 19:14:28
Tendrías que hacerte una rutina de tratamiento de errores dentro de tu Sub.
Fijate en las ayudas por: "On Error Goto", "Resume" y "Err".
El error que se genera por desbordamiento es el 6.
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemilla

Publicado por Pedro Luis (878 intervenciones) el 27/11/2006 13:37:05
Creo que ese tipo de errores se manejan mejor in situ en lostfocus.
if not isnumeric(text1) then msgbox("solo numero por favor"):exit sub
if not isdate(text1) then msgbox("La fecha introducida es incorrecta"):exit sub
Ten en cuenta que una letra en vez de un numero puede dar lugar a diversos errores y pueden venir de diferentes sitios.
De todas formas sería una cosa así
On error goto Errores
..
...
exit sub 'para que no siga si no hay error
:Errores
if err.number= nn then msgbox("Se ha producido un error " & Err.number & ", " & err.Description):Resume Next o Resume 0 o exit sub u otro proceso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar