border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 07-09-2007, 15:09:28
Un Nuevo Amigo
 
Registrado: may 2007
Posts: 12
cza_ale Valoración +2
Predeterminado gestion de errores

buenas, una vez mas preciso de los mostruos, asi le decimos a los q saben mucho en paraguay jojo! tengo un ABM sencillo con una BD firebird. Solo me falta gestionar los errores q me tira la BD. Osea, es conocido q toda BD se protege ante la eliminacion de registros q estan relacionados en otra tabla (ciudadais, no se puede eliminar pais), todo bien. El tema esta en capturar estos errores en la aplicacion y no pasarle al usuario errores de la BD q no va entender.
Mi manera de resolverlo hasta ahora es, en cada form de ABM tengo una rutina de eliminacion con este codigo:
sub eliminar()
on error goto error_eliminar
SQL = "EXECUTE PROCEDURE SP_DEL_ENTIDAD( " & txtCampo(9) & ")"
Set rsEliminar = EjecutaCmd(SQL, adCmdText)

error_eliminar:
me.action =vbdataactionerror
End Sub


y en un modulo tengo esto:
Function EliminaRegistro(Formulario As Form, Optional sMsj As String, Optional TituloMsg As String) As Boolean
EliminaRegistro = False

If Trim(sMsj) = "" Then
i = MsgBox("Desea Eliminar el Registro?", vbQuestion + vbYesNo + vbDefaultButton2, IIf(Trim(TituloMsg) = "", "Eliminar Registro", TituloMsg))
Else
i = MsgBox(sMsj, vbQuestion + vbYesNo + vbDefaultButton2, IIf(Trim(TituloMsg) = "", "Eliminar Registro", TituloMsg))
End If
If i = vbNo Then Exit Function
Formulario.Action = vbDataActionDelete
Formulario.Eliminar
If Formulario.Action = vbDataActionOK Then
Formulario.AbreTablas
Formulario.ActualizaCampos
EliminaRegistro = True
Else
GoTo Error_EliminaRegistro
End If
Exit Function

Error_EliminaRegistro:
If Err.Number = -2147467259 Then
MsgBox "No se pudo eliminar el registro por tener movimientos.", vbExclamation, TIT_ERROR_SISTEMA
Else
MsgBox "Error Nº " & Err.Number & " - " & Err.Description, vbExclamation, TIT_ERROR_SISTEMA
End If
Formulario.Action = vbDataActionERROR
End Function


Esto no me captura el error, bah...captura algo pero siempre salta el error desde la BD diciendo q hay violacion de FK y todo eso, y despues el error de la aplicacion(algunas veces no). Yo Necesito q solo salte "mi" mensaje de error diciendo algo entendible para el usuario. el error de la BD siempre salta en esta linea:
Set rsEliminar = EjecutaCmd(SQL, adCmdText)
como hago una correcta gestion de errores de este tipo?
gracias!!!
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
program de gestion augusto C/C++ 0 24-05-2007 03:12:21
APlicacion de gestion ircop Visual Basic 6.00 9 31-08-2006 12:27:22
Devolver un valor en una sola gestion sagamoal Lenguaje SQL 5 25-03-2006 16:43:21
Gestion base datos access mabopasa Visual Basic 6.00 11 25-08-2005 10:28:24
Aplicaciones de Gestion Vbasic_fanatic Visual Basic 6.00 4 28-12-2004 20:12:13


La franja horaria es GMT. Ahora son las 20:27:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right