Fehlermeldung beim Öffnen einer verknüpften SharePoint-Tabelle in Access 2007: "Das Microsoft Office Access-Datenbankmodul konnte das Objekt nicht finden"

Problembeschreibung

Wenn Sie versuchen, eine verknüpfte Microsoft Windows SharePoint Services-Tabelle in Microsoft Office Access 2007 zu öffnen, wird möglicherweise eine Fehlermeldung angezeigt, die der folgenden Fehlermeldung ähnelt:

Das Microsoft Office Access-Datenbankmodul konnte das Objekt'Objektname'nicht finden. Stellen Sie sicher, dass das Objekt vorhanden ist und dass Sie seinen Namen und den Pfadnamen richtig buchstabieren.

Die verknüpfte SharePoint-Tabelle wird jedoch erfolgreich geöffnet. Diese Fehlermeldung tritt auf, nachdem Sie die verknüpfte SharePoint-Tabelle mithilfe der Data Access Objects (DAO) RefreshLink-Methode programmgesteuert mehr als einmal hintereinander aktualisiert haben.

Ursache

Dieses Problem tritt auf, weil die RefreshLink-Methode die Tabellenbeziehungen ignoriert, die während des vorherigen Aufrufs der Methode erstellt wurden.

Problemumgehung

Um dieses Problem zu umgehen, löschen Sie programmgesteuert die Tabellenbeziehungen, bevor Sie die RefreshLink-Methode verwenden, um die verknüpfte Tabelle zu aktualisieren.

Beispielunterroutine zum Löschen der Beziehungen

Führen Sie die folgenden Schritte aus, um eine Unterroutine zum Löschen der Beziehungen für den aktualisierten Link zu verwenden:

  1. Fügen Sie den folgenden Code in ein Modul in Microsoft Visual Basic for Applications (VBA) ein:

    Public Sub RemoveInvalidRelationships(strTableName As String)    On Error Resume Next    Dim cnt As Integer    Dim i As Integer    Dim bForeignTable As Boolean    Dim bTable As Boolean    Dim td As TableDef        cnt = CurrentDb.Relations.Count - 1    ' Go through the relationships collection backwards, to ensure that if we delete one, we will have a valid index    For i = cnt To 0 Step -1        bTable = False        bForeignTable = False        If (StrComp(CurrentDb.Relations(i).Table, strTableName, vbTextCompare) = 0) Then bTable = True        If (StrComp(CurrentDb.Relations(i).ForeignTable, strTableName, vbTextCompare) = 0) Then bForeignTable = True                If bTable Xor bForeignTable Then            ' Determine if either the table or foreign table is the table that we are interested in            ' We will then look at the other table to determine if it exists            ' If it doesn't exist, delete the relationship            If bTable Then                Set td = CurrentDb.TableDefs(CurrentDb.Relations(i).ForeignTable)            Else                Set td = CurrentDb.TableDefs(CurrentDb.Relations(i).Table)            End If                        If Err.Number = 3265 Then                CurrentDb.Relations.Delete CurrentDb.Relations(i).Name            End If            Err.Clear        End If            Next iEnd Sub
  2. Fügen Sie im Quellcode, in dem die RefreshLink-Methode aufgerufen wird, den folgenden Code unmittelbar vor der RefreshLink-Quellcodezeile ein:

    RemoveInvalidRelationships "WSSLink"

    Hinweis "WSSLink" ist der Name der verknüpften Tabelle, die von der RefreshLink-Methode aktualisiert wird.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×