Autor Tema: Personalizar mensajes de error  (Leído 5556 veces)

Desconectado xavi

  • Administrador
  • Habitual
  • *****
  • Mensajes: 221
Personalizar mensajes de error
« en: Abril 14, 2012, 07:13:23 pm »
Palabras clave: cambiar, personalizar, customizar, mensajes, avisos, error
Autor: Desconocido
Extraído de: La web del Búho

Objetivo
Sustituir los mensajes de error que ofrece Access por otros personalizados.

Comenta el amigo desconocido...

Mas o menos la idea es esta.
En el codigo de errores de todos los formularios etc, recoge el error mediante:
Ejemplo:
Código: [Seleccionar]
Private Sub F1Ayuda_Click()
 On Error GoTo Err_Comando44_Click
   MuestraAyuda
Exit_Comando44_Click:
    Exit Sub

Err_Comando44_Click:
    'Aqui llamo a la funcion errores
    Errores Err.Number,  Me.Name
    Resume Exit_Comando44_Click
End Sub





'Esta funcion iría en un módulo.
'Recibe como parametros el numero del error y el formulario origen del error

Function Errores(NumeroError As Double, Formulario As String)
  Dim rst As Recordset
  Dim SQL As String

  'Aqui ya puedes tratar los errores como quieras.
  ' Tienes una tabla llamada TblErrores...pues abrir el
  ' recordset de la tabla.
  ' Esta tabla puedes construirla con dos campos, por ejemplo
  ' FldCodigoError -> Double
  ' FldMensajePersonalizadoError ->String
 
  SQL = "Select * from TblErrores Where FldCodigoError=" & NumeroError
  Set rst = CurrentDB.OpenRecordset(SQL, dbOpenDynaset)
  If rst.EOF = True Then
    'No tienes recogido en la tabla dicho error...pon el mensaje que quieras
    MsgBox "Aviso desde el formulario:" & Formulario & Chr(13) _
    & "Nº: " & NumeroError & " ->" & Err.Description, vbInformation + vbOKOnly, "AVISO"

  Else
    'Tienes mensaje personalizado
   MsgBox "Aviso desde el formulario:" & Formulario & Chr(13) _
       & Rst("FldMensajePersonalizadoError"), vbInformation + vbOKOnly, "AVISO"

  End If
  rst.Close
  Set rst = Nothing
   
End Function