2017-01-03 29 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