2017-01-03 85 views
0

我使用了Excel中的外部连接文件的共享访问数据库,在这里,但由于某些原因,我的连接,使文件不能被编辑其他人。我不知道到底为什么发生这种情况,但这里是咨询代码:Excel和Access链接到外部数据锁定文件的源文件

商= Microsoft.ACE.OLEDB.12.0;用户ID =管理;数据源= G:\中\ CONTROLES Gerencias \ Rentabilidade BOL \ carteiras diarias.mdb; Mode =; Extended Properties =“”; Jet OLEDB:System database =“”; Jet OLEDB:Registry Path =“”; Jet OLEDB:Engine Type = 5; Jet OLEDB:Database Locking Mode = 0 ; Jet OLEDB:全局部分Bulk Ops = 2; Jet OLEDB:全局批量事务= 1; Jet OLEDB:新数据库密码=“”; Jet OLEDB:创建系统数据库= False; Jet OLEDB:加密数据库= False;不要在紧凑型=错误副本区域设置;喷射OLEDB:紧凑型无副本修复= FALSE;喷气OLEDB:SFP = FALSE;喷气OLEDB:支持复杂数据= FALSE;喷气OLEDB:绕道的UserInfo验证=假

回答

0

默认情况下,Excel中保持打开OLEDB/ODBC连接,通过连接字符串(从而锁定在使用Access数据库。)

配置的无金额将从这样做停止的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