Voir la source dans Err.Raise ?
Bonjour à tous et merci de votre temps et de votre aide.
J'ai un truc qui m'agace lorsque j'utilise Err.Raise
ex :
Code:
1 2 3 4 5
| Private Sub TestErreur()
Const NOM_PROC As String = "TestErreur()"
Call Err.Raise(5, NOM_PROC, "test erreur")
End Sub |
Le contenu de NOM_PROC n'est pas affiché dans la fenêtre qui s'ouvre.
Access met juste :
Microsoft Visual Basic
Erreur d'exécution 5 :
Test erreur
Nul part je ne vois TestErreur.
J'ai essayé avec une chaîne à la place de la constante et j'ai obtenu le même résultat.
J'ai copié l'exemple de l'aide, ici aussi, même résultat, la source n'est pas affichée.
Est-ce que j'ai raté quelque chose ?
L'idée est de fournir, facilement (c-à-d sans faire de développement supplémentaire), un message explicatif à mon utilisateur en précisant dans quel module et procédure l'erreur c'est produite.
On peut faire un truc du genre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Public Sub AfficherErreurStandard(prmErr As ErrObject, Optional prmMess As String = "")
DoCmd.Hourglass False
Dim mess As String
If prmMess <> "" Then
mess = prmMess
mess = mess & vbNewLine & vbNewLine
End If
mess = mess & "Erreur : " & prmErr.Number & ", " & prmErr.description
If Err.source <> "" Then
mess = mess & vbNewLine & "Dans " & Err.source & "."
End If
mess = mess & vbNewLine & vbNewLine & "ATTENTION : Si un traitement était en cours il a sans doute été interrompu et les données affichées pourraient ne pas être correctes."
Call MsgBox(mess, vbExclamation)
End Sub |