我想添加到這一點;可以在VBA宏中更新後端表連接的密碼。添加以下行並替換鏈接表&密碼的名稱。
Dim cdb As DAO.Database
Set cdb = CurrentDb
cdb.TableDefs("Projects").Connect = "MS Access;PWD=PaSsWoRd;DATABASE=C:\Users\bob.smith\Desktop\Split\Database_NEW_be.accdb"
cdb.TableDefs("Projects").RefreshLink
我發現使用內置的拆分功能將數據庫拆分爲前端和後端後非常有用。爲安全起見,我需要對後端進行加密,並且不想重新創建所有數據連接 - 是不是使用分割功能的要點?
爲每個鏈接表複製上述行並讓宏運行。在此之後,鏈接表應該繼續工作。
此答案爲我解決了一個問題。所以我upvoting,還我想提供,你可以在所有表上運行的增強版本:
Public Sub RevisePasswordForLink()
Dim cdb As DAO.Database
Set cdb = CurrentDb
Dim tdf As TableDef, colTdf As TableDefs, strConnect As String
Set colTdf = cdb.TableDefs
strConnect = "MS Access;PWD=paSsWoRd;" _
"DATABASE=C:\Users\bob.smith\Desktop\Split\Database_NEW_be.accdb"
For Each tdf In cdb.TableDefs
''I believe best to skip the hidden tables ("MSys*")
If Not tdf.Name Like "MSys*" Then
''If your DB has any local tables, you can save yourself some errors
''by filtering them out (similar to hidden tables).
cdb.TableDefs(tdf.Name).Connect = strConnect
cdb.TableDefs(tdf.Name).RefreshLink
Debug.Print " " & tdf.Name
End If
Next tdf
Set cdb = Nothing
Debug.Print "FINISHED "
End Sub
OOOOOPPPPPSSSS !!!! 好的,我發現了這個問題。訪問不喜歡使用其他字符。我的密碼中有一組括號。刪除了,一切都很好! :-) – MultiGuy 2012-03-07 19:21:26
很想去。我試圖發表答案,但我沒有足夠的回答我自己的帖子! ...對我來說似乎有點傻... :-) – MultiGuy 2012-03-08 23:20:04