Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Access 2013, Office 2013
Renvoie le nom de l'objet ou de l'application à l'origine de l'erreur.
Syntaxe
expression . Source
Expression Variable qui représente un objet Error .
Remarques
La propriété Source a généralement comme valeur l'identificateur programmatique ou le nom de classe de l'objet. Utilisez la propriété Source pour fournir aux utilisateurs des informations lorsque votre code est incapable de gérer une erreur générée dans un objet d'une autre application.
Par exemple, si vous accédez à Microsoft Excel et qu’il génère une erreur « Division par zéro », Microsoft Excel définit Error.Number sur le code Microsoft Excel pour cette erreur et définit la propriété Source sur Excel.Application. Notez que, si l'erreur est générée dans un autre objet appelé par Microsoft Excel, ce dernier intercepte l'erreur et affecte néanmoins le code Microsoft Excel à Error.Number. En revanche, les autres propriétés de l'objet Error (y compris Source) conserveront les valeurs définies par l'objet qui a généré l'erreur. La propriété Source contient toujours le nom de l'objet qui a initialement généré l'erreur.
Vous pouvez écrire du code qui gèrera l'erreur de façon adaptée, en vous basant sur toute la documentation relative aux erreurs. Si votre gestionnaire d'erreurs échoue, vous pouvez utiliser les informations de l'objet Error pour décrire l'erreur à vos utilisateurs, à l'aide de la propriété Source et des autres propriétés de l'objet Error afin que que ceux-ci disposent d'informations sur l'objet à l'origine de l'erreur, d'une description de l'erreur, etc.
Remarque
[!REMARQUE] La construction On Error Resume Next est parfois préférable à la construction On Error GoTo lorsqu'il s'agit d'erreurs générées au cours de l'accès à d'autres objets. Lorsque vous vérifiez la propriété de l'objet Error après chaque interaction avec un objet, vous pouvez identifier précisément l'objet auquel votre code accédait au moment de l'erreur. Par conséquent, vous pouvez déterminer avec certitude l'objet qui a placé le code d'erreur dans Error.Number, ainsi que l'objet à l'origine de l'erreur (Error.Source).
Exemple
Cet exemple force une erreur, la capture et affiche les propriétés Description, Number, Source, HelpContext et HelpFile de l'objet Error qui en résulte.
Sub DescriptionX()
Dim dbsTest As Database
On Error GoTo ErrorHandler
' Intentionally trigger an error.
Set dbsTest = OpenDatabase("NoDatabase")
Exit Sub
ErrorHandler:
Dim strError As String
Dim errLoop As Error
' Enumerate Errors collection and display properties of
' each Error object.
For Each errLoop In Errors
With errLoop
strError = _
"Error #" & .Number & vbCr
strError = strError & _
" " & .Description & vbCr
strError = strError & _
" (Source: " & .Source & ")" & vbCr
strError = strError & _
"Press F1 to see topic " & .HelpContext & vbCr
strError = strError & _
" in the file " & .HelpFile & "."
End With
MsgBox strError
Next
Resume Next
End Sub