2012-03-07 66 views
4

我有一個困惑。我開發了一個Access應用程序,我準備分發它。我剛剛拆分了數據庫。 (我知道,有人說我應該從一開始就開發它......我沒有)我也剛剛加密了後端數據庫。在前端,我已鏈接到後端,並在系統提示時輸入正確的密碼。鏈接表現在出現在我的fronend數據庫中。但是,當我嘗試訪問其中一個鏈接表時,我收到一條彈出消息,簡單地說「不是有效的密碼」。MS Access無法鏈接到加密的後端數據庫

我試過刪除鏈接表並重新鏈接。我試過更新鏈接。似乎沒有任何工作。我所做的每個搜索都假定鏈接是在加密發生之前創建的,並且沒有輸入密碼。這裏不是這種情況。

任何人都可以請幫忙嗎?

的Windows 7 - 訪問2010

Multiguy

+1

OOOOOPPPPPSSSS !!!! 好的,我發現了這個問題。訪問不喜歡使用其他字符。我的密碼中有一組括號。刪除了,一切都很好! :-) – MultiGuy 2012-03-07 19:21:26

+0

很想去。我試圖發表答案,但我沒有足夠的回答我自己的帖子! ...對我來說似乎有點傻... :-) – MultiGuy 2012-03-08 23:20:04

回答

3

從評論

OOOOOPPPPPSSSS !!!!好的,我發現了這個問題。訪問不喜歡 使用其他字符。我的密碼中有一組括號。 刪除,一切都很好! :-)

- MultiGuy

1

我想添加到這一點;可以在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 
+0

雖然第二個想法,答案不適用於OP。我想這是一個單獨的'quandary'... – Smandoli 2014-01-09 15:24:57

+0

我想在這裏發佈這個答案,因爲我在加密後端的時候到達了這個話題。如果我記得它在Google搜索結果中相當高。感謝您將代碼的增強版放入!我希望它證明對其他人也有用:) – Shrout1 2014-01-09 20:24:00

0

我碰到這個線程來了,當我在和2013年訪問了類似的問題,我已經加密的後端成功。每次打開後端時,我都可以使用我用來加密後端的密碼成功打開後端。

因此,我打開前端,刪除了以前的鏈接表,並重新鏈接到新加密的後端。正如所料,在鏈接過程中,它向我詢問了後端的密碼。我輸入了正確的密碼(我知道這是正確的,因爲我粘貼了它,而不是輸入它),並且一切看起來都正常。這些表格都顯示在前端的對象列表中。但是,如果我試圖打開鏈接表,我會收到一個消息框,指出「不是有效的密碼」。

訪問其他線程後,我嘗試在後端沒有任何特殊字符,沒有任何空格使用密碼。然後重新鏈接前端的那些人。普雷斯托!這解決了問題。

因此,如果您在前端收到「無效的密碼」,請嘗試以下操作,即使您可以打開後端,只需手動加載它即可:消除後端密碼中的任何空格或標點符號和然後刪除並重新鏈接前端中的鏈接表。

相關問題