Visual Basic - Error 13 por favor Ayuda

Life is soft - evento anual de software empresarial
 
Vista:

Error 13 por favor Ayuda

Publicado por Pamela (4 intervenciones) el 21/02/2002 15:13:45
Hola a Todos

Tengo un problema. Yo puse en el evento lost Focus de un textbox (textboxA) que cuando digito 1o mayor, en otro textbox debe mostrar "30"(trextboxB).Si digito algun numero menor a 1, en otro textbox debe mostrar "0" (TextboxC). Ahora cuando no digito nada me da RUNTIME ERROR "13" Un type mismatch. yo entiendo esto, pero como lo puedo capturar con un Err Object
o tienen otra forma para solucionarlo

Muchas Gracias de antemano.
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:Error 13 por favor Ayuda

Publicado por Ery (155 intervenciones) el 21/02/2002 15:48:48
Si un texo es nulo casi cualquier operacion te dara un error, puedes verificarlo con IsNull. Para captura un error igual que en Basic

On Error goto Captura
'
'Comandos
'
Exit Sub
Captura:
if err.number = 13 then
end if

saludos,h
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:Error 13 por favor Ayuda

Publicado por adolfo (2 intervenciones) el 21/02/2002 15:58:07
Hola Pamela. Para capturar el error puedes hacerlo así:
Private Sub Error13()
Dim Texto As String
On Error Resume Next 'Activar detección de errores
If Texto < 13 Then Debug.Print "no error" 'Esta acción da el error 13
If Err.Number = 13 Then 'Con Err=13 tb funciona
MsgBox Err.Description 'Mensaje con el error
End If
End Sub

En lugar de texto utiliza textboxA.text.
Espero que te funcione
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:Error 13 por favor Ayuda

Publicado por Guillermo Pereira (3 intervenciones) el 22/02/2002 01:47:29
Podrías sofisticar un poco la forma en que capturas los datos que tienes en el lostfocus

Me imagino que lo que estás haciendo es usar una función de conversión de texto a número y por ello te da el error cuando en el primer textbox no hay nada porque cuando usas la función no puede convertirla. Lo mismo te daría si es un texto el que ingresas en lugar de un número. Podrías mejor hacer una prueba antes de usar la función de la siguiente manera:

if isnumeric(textboxA.Text ) then
if cbyte(textboxA.Text) < 1 then
textboxB.Text = "30"
else
textboxB.Text = "0"
endif
else
msgbox "No hay datos. Debe ingresar un número",vbinformation, "Aviso"
endif

Hay me cuentas como te va.
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

Gracias

Publicado por Pamela (4 intervenciones) el 22/02/2002 13:37:35
Gracias a los 3 por las respuestas y por que me ayudaron no solo en esa duda, sino tiembien otra consulta.

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