Triệu chứng

Khi bạn cố gắng mở một liên kết Microsoft Windows SharePoint Services bảng trong Microsoft Office Access 2007, bạn có thể nhận được thông báo lỗi tương tự như thông báo lỗi sau:

Cơ sở dữ liệu Microsoft Office Access không thể tìm thấy đối tượng 'tên đối tượng'. Đảm bảo rằng các đối tượng tồn tại và bạn chính tả tên của nó và tên đường dẫn đúng.

Tuy nhiên, liên kết SharePoint bảng mở thành công. Thông báo lỗi này xảy ra sau khi bạn cập nhật liên kết SharePoint bảng lập nhiều thời gian trong một hàng bằng cách sử dụng phương pháp làm mới đối tượng truy cập dữ liệu (dao).

Nguyên nhân

Sự cố này xảy ra vì phương pháp làm mới liên kết sẽ bỏ qua các mối quan hệ bảng được tạo ra trong cuộc gọi trước phương pháp.

Cách giải quyết

Để khắc phục sự cố này, lập xoá các mối quan hệ bảng trước khi bạn sử dụng phương pháp làm mới liên kết để cập nhật bảng liên kết.

Mẫu chương trình con để xóa các mối quan hệ

Sử dụng chương trình con để xoá các mối quan hệ cho liên kết làm mới, hãy làm theo các bước sau:

  1. Chèn mã sau vào một mô-đun trong Microsoft Visual Basic for Applications (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. Trong mã nguồn mà phương pháp làm mới liên kết được gọi là, chèn mã sau ngay trước dòng mã nguồn làm mới:

    RemoveInvalidRelationships "WSSLink"

    Lưu ý "WSSLink" là tên của bảng liên kết đang được làm mới bằng phương pháp làm mới liên kết .

Trạng thái

Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?

Cảm ơn phản hồi của bạn!

×