当您尝试在 Access 2007 中打开链接的 SharePoint 表时出现错误消息:"Microsoft Office Access 数据库引擎找不到该对象"

症状

当您尝试在 Microsoft Office Access 2007 中打开链接的 Microsoft Windows SharePoint 服务表时,您可能会收到类似于以下错误消息的错误消息:

Microsoft Office Access 数据库引擎找不到对象"对象名称"。请确保该对象存在,并且正确拼写其名称和路径名称。

但是,链接的 SharePoint 表已成功打开。使用数据访问对象 (DAO) RefreshLink方法以编程方式更新链接的 SharePoint 表后,将发生此错误消息。

原因

出现此问题是因为RefreshLink方法忽略在上一次调用该方法期间创建的表关系。

解决方法

要解决此问题,在使用RefreshLink方法更新链接的表之前,请以编程方式删除表关系。

删除关系的示例子例程

要使用子例程删除刷新链接的关系,请按照以下步骤操作:

  1. 将以下代码插入到 Microsoft 应用程序可视化基本模块 (VBA) 中的模块中:

    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. 在调用RefreshLink方法的源代码中,在 RefreshLink 源代码行之前插入以下代码:

    RemoveInvalidRelationships "WSSLink"

    备注"WSSLink"是刷新刷新的 RefreshLink方法正在刷新的链接表的名称。

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×