Excel 和访问链接到外部数据锁文件源文件



我在此处使用 excel 文件中的外部连接到共享访问数据库,但由于某种原因,我的连接使其他人无法编辑该文件。我不知道为什么会发生这种情况,但这是咨询代码:

提供程序=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=G:\Middle\Controles Gerencias \Rentabilidade Bco\carteiras diarias.mdb;模式=;扩展属性=";Jet OLEDB:系统数据库=";Jet OLEDB:注册表路径=";喷气式OLEDB:发动机类型=5;Jet OLEDB:数据库锁定模式=0;Jet OLEDB:全球部分散装操作=2;Jet OLEDB:全球批量交易=1;Jet OLEDB:新数据库密码=";Jet OLEDB:创建系统数据库=假;Jet OLEDB:加密数据库=假;Jet OLEDB:不要在 compact=false 上复制语言环境;Jet OLEDB:没有复制品维修的紧凑型=假;Jet OLEDB:SFP=False;Jet OLEDB:支持复杂数据=假;Jet OLEDB:绕过用户信息验证=假

默认情况下,

Excel 使 OLEDB/ODBC 连接保持打开状态(从而锁定正在使用的访问数据库)。

通过连接字符串进行的任何配置都不会阻止 Excel 执行此操作。与预期相反,将模式设置为共享拒绝无或只读不会让您摆脱麻烦。但是,可以通过代码修改连接的属性,以使用 .MaintainConnection 属性防止此行为。UI 中没有用于修改此属性的设置。

试试这个代码:

Function unlock_conns()
Dim conn
For Each conn In ActiveWorkbook.Connections
    Select Case conn.Type
        Case xlConnectionTypeOLEDB
            conn.OLEDBConnection.MaintainConnection = False
        Case xlConnectionTypeODBC
            conn.ODBCConnection.MaintainConnection = False
    End Select
Next conn
End Function

最新更新