Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Access 2013, Office 2013
Gibt den Namen des Objekts zurück, das den Fehler ursprünglich erzeugt hat.
Syntax
Ausdruck . Quelle
expression Eine Variable, die ein Error-Objekt darstellt.
Hinweise
Der Wert der Source-Eigenschaft ist gewöhnlich der Klassenname oder die Programm-ID des Objekts. Mit der Source-Eigenschaft können Sie dem Benutzer Informationen darüber liefern, ob der Code Fehler behandeln kann, die von einem Objekt in einer anderen Anwendung erzeugt wurden.
Wenn Sie beispielsweise auf Microsoft Excel zugreifen und der Fehler "Division by zero" generiert wird, legt Microsoft Excel Error.Number auf den Microsoft Excel-Code für diesen Fehler und die Source-Eigenschaft auf Excel.Application fest. Wenn ein Fehler von einem anderen von Microsoft Excel aufgerufenen Objekt erzeugt wird, fängt Microsoft Excel den Fehler ab und setzt Error.Number dennoch auf den Microsoft Excel-Code. Die anderen Eigenschaften des Error-Objekts (einschließlich Source) behalten jedoch ihre Werte, die von dem Objekt festgelegt wurden, das den Fehler erzeugt hat. Die Source-Eigenschaft enthält immer den Namen des Objekts, das den Fehler ursprünglich erzeugt hat.
Basierend auf der gesamten Fehlerdokumentation können Sie Code schreiben, der den Fehler entsprechend behandelt. Wenn der Fehlerhandler fehlschlägt, können Sie die Informationen zum Error-Objekt verwenden, um den Fehler für den Benutzer zu beschreiben. Verwenden Sie dazu die Source-Eigenschaft und die anderen Error-Eigenschaften , um dem Benutzer Informationen darüber zu geben, welches Objekt den Fehler ursprünglich verursacht hat, die Beschreibung des Fehlers usw.
Hinweis
[!HINWEIS] Das On Error Resume Next-Konstrukt ist möglicherweise On Error GoTo vorzuziehen, wenn Fehler behandelt werden, die während des Zugriffs auf andere Objekte erzeugt wurden. Wenn das Error-Objekt nach jeder Interaktion mit einem Objekt überprüft wird, kann jeder Zweifel darüber aus dem Weg geräumt werden, auf welches Objekt der Code beim Auftreten des Fehlers zugegriffen hat. Auf diese Weise wissen Sie, welches Objekt den Fehlercode in Error.Number geschrieben und welches Objekt den Fehler ursprünglich erzeugt hat (Error.Source).
Beispiel
Dieses Beispiel löst einen Fehler aus, fängt ihn auf und zeigt die Eigenschaften Description, Number, Source, HelpContext und HelpFile des resultierenden Error-Objekts an.
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