VBA SQL 更新 SharePoint 列表:使用单个 ADO 连接连接到多个列表的任何方法?

问题描述 投票:0回答:0

我最近问了一个关于在 VBA/ADO 中使用 SQL 更新 SharePoint 列表的问题,并得到了一个很好的答案,我已经设法开始工作了。我目前的代码如下:

Public Sub Update_some_list()
    Dim ListID As String, SharePointSite As String
    ListID = "Test_Staff"
    SharePointSite = "https://companyname.sharepoint.com/sites/proc2126"
    Dim c As New ADODB.Connection
    c.Open "Provider=Microsoft.ACE.OLEDB.12.0;WSS;DATABASE=" & SharePointSite & ";LIST=" & ListID
    Dim SQL As String
    SQL = "UPDATE [Test_Staff] SET [StaffName]='ChrisTest' WHERE [UserName]='melvilc';"
    c.Execute SQL
    c.Close ' I want to eliminate the requirement to close the connection, then re-open with a different list
    ListID = "Duplicate_Test"
    c.Open "Provider=Microsoft.ACE.OLEDB.12.0;WSS;DATABASE=" & SharePointSite & ";LIST=" & ListID
    SQL = "UPDATE [Duplicate_Test] SET [Three]='ChrisTest' WHERE [Four]='Deleted';"
    c.Execute SQL
End Sub

这很好用。但理想情况下,我希望有一种方法可以在同一连接中更新多个 SharePoint 列表。我现有的代码基于与 MS Access 兼容的数据库,在执行指定表名的 SQL 语句之前,我会使用单个数据库连接。但是,当我尝试使用 SharePoint 列表执行此操作时,我收到一条错误消息“没有为一个或多个必需参数提供值”

这就是为什么在上面的代码中,我需要关闭“Test_Staff”连接并打开一个不同的“Duplicate_Test”连接。

但是有没有办法使用与 SharePoint 站点相同的通用连接,并使用 SQL 来准确指定要更新的列表?

excel vba list sharepoint ado
© www.soinside.com 2019 - 2024. All rights reserved.