Freigeben über


Error.Source-Eigenschaft (DAO)

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