问题描述
我有一个 Excel 工作簿用作报告生成器,它从列表(p.k.a. SharePoint)中获取其内容。我能够使用 ACE OLEDB 12.0 和标准代码成功建立数据连接,例如:
ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=1;RetrieveIds=Yes;" & _
"DATABASE=" & HOST & ";" & _
"LIST=" & TableGUID & ";"
Set cnn = New ADODB.Connection
Set rec_set = New ADODB.Recordset
With cnn
.ConnectionString = ConnectionString
.Open
End With
rec_set.Open Query,cnn,adOpenStatic,adLockOptimistic
但是,此代码仅在我手动启动身份验证过程后才会执行。例如,我可能会经历“从 Web 获取外部数据”的过程,该过程会启动该过程。或者,我可能有一个使用 SharePoint 发送的 iqy 文件的数据连接(*问题),这也会触发身份验证。在我这样做之前,该过程在 rec_set.Open 失败,并显示错误消息“[Table] is not found”,我认为这是“我无法连接到数据库”的红字。
我已尝试(但失败)向连接字符串添加身份验证指令,例如 User=、Password= 等,但据我所知,这些指令不适用于 SharePoint 列表。
这就是我所说的身份验证:
*使用 iqy 文件连接有两个问题。首先,我认为这限制了工作簿的可移植性,我希望能够分发它。其次,我认为这种方法会导入整个 SharePoint 表,随着这些表变大,我想过滤查询。
我希望我的用户必须点击它,这很好,但我想以编程方式触发它。想法被感激地接受。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)