Visual Basic - Capturar error

Life is soft - evento anual de software empresarial
 
Vista:

Capturar error

Publicado por rodolfo (44 intervenciones) el 20/02/2006 14:28:07
tengo algo asi en mi codigo como veran el codigo de factura (codfac) debe ser ingresado por el usuario ,qué pasa si el usuario no coloca nada en el txtcodfac.text me da un error ,yo quisiera que en vez de ese error ,poder enviar un mensaje al usuario que diga que debe ingresar el codigo de factura para poder continuar

Set rec = db.OpenRecordset("select Cod_Cliente from clientes where
Cod_fact=" &TxtCodfac.Text)
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:Capturar error

Publicado por Edgardo (16 intervenciones) el 20/02/2006 15:41:55
En este caso sería más sencillo preguntar, si no tiene nada:
If TxtCodFac.Text <> "" Then hacer la acción.
También deberías preguntar si lo introducido es numérico:
If TxtCodFac.Text <> "" And IsNumeric(TxtCodFac.Text) = True Then hacer la acción.
Pero, respondiendo a la pregunta, el control de errores es así:
Dentro de cada evento, Sub o Function, la primera línea de código debe estar reservada para el control de errores. La sintaxis es:
On Error GoTo Arreglar
Donde 'Arreglar' es una referencia a una etiqueta utilizada para indicarle al compilador que en caso de un error, se dirija a la línea en donde se encuentre esta etiqueta. Esta etiqueta de distingue poniéndole al final dos puntos.
Lo más razonable es que al final de cada Sub o Function se escriba el código para el control del error. Pero recuerda poner antes de la etiqueta un Exit Function o Exit Sub ya que sino se ejecutará el código de control de errores aunque no haya errores. Un ejemplo:

Function CargarCliente()
On Error GoTo Arreglar
'tu código
...
...
If TxtCodFac.Text <> "" And IsNumeric(TxtCodFac.Text) = True Then
Set rec = db.OpenRecordset("select Cod_Cliente from clientes where
Cod_fact=" &TxtCodfac.Text)
End If
...
...
Exit Function
Arreglar:
'tu código para arreglar el problema, como:
MsgBox "Hay un error"
End Function

Se puede usar el objeto Err para saber el tipo de error, tambien hay otras maneras de controlar el error, pero esto ya se haría muy extensivo para el caso, con esto alcanza, aunque hay más. Espero te sirva.
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