查询 SharePoint 文件夹中的 Access 数据库,在回收站中创建一个“.laccdb”文件

Querying Access database in SharePoint folder, creates a ".laccdb" file in Recycle bin

如主题行所示,运行 来自 Excel 宏的此数据库上的 SELECT 语句将“.laccdb”文件放入回收站 - 有什么办法避免这种情况?

VBA:

Sub QueryDbOnSP()
    Dim cn As Object
    Dim rs As Object
    Dim cnStr As String
    Dim qryStr As String
    Dim WebDavStr As String
    
    WebDavStr = "\....\myDbName.accdb"
    Set cn = CreateObject("ADODB.Connection")
    cnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & WebDavStr
    qryStr = "SELECT * FROM [Table1];"
    cn.Open cnStr
    Set rs = cn.Execute(qryStr)
    'rest of code

End Sub

根据您查询 Access 的方式,您可以在独占模式下查询。

独占模式锁定文件,因此不会创建和删除 .laccdb 文件,因为整个文件都被锁定。

对于 OLEDB 连接,您可以通过将 Mode=Share Exclusive; 添加到连接字符串以独占模式进行连接。

但是,SharePoint auto-deletes 这些文件仍然存在(取决于配置,但通常)。 auto-mails 如果你删除了很多文件,你会注意到这些文件,但是一个简单的邮件规则会阻止这些文件或将它们放入 low-priority 邮箱。