美好的一天。我有一個問題,我根本無法解決。我正在從一個Excel程序中檢索數據並更新MS Access 2010數據庫。我使用ADODB.Connection與數據庫連接,文件(access.accdb)駐留在文件服務器中。當應用程序首次啓動時,它使用form1從用戶獲取登錄詳細信息,並檢查用戶標識是否存在於數據庫中。這個函數駐留在一個模塊中並且工作正常。當我嘗試從另一個用戶窗體(窗體2)中的子窗體打開同一個文件時,我總是收到錯誤,指出找不到該文件。我正在使用與模塊中使用的完全相同的路徑字符串,只是這次使用的是從用戶表單中使用的字符串。以下是Module2中的代碼:VBA運行時錯誤:無法找到文件
Dim con As Object
Dim rs As Object
Dim path As String
path = "path.accdb"
Set con = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
with con
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source = " & path & "; Jet OLEDB:Database Password = pwd"
.Open
這工作正常。 我只使用相同的用戶窗體並且沒有記錄集對象。我不是從表單中檢索數據,而是更新數據庫。該表單僅用於數據捕獲。
任何幫助將不勝感激。謝謝。
這是我使用form1的內部代碼:
Dim conn As Object
Dim strPath As String
strPath = "path.accdb" 'same as the path I used from within Module2
Set conn = CreateObject("ADODB.Connection")
with conn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source = " & strPath & "; Jet OLEDB:Database Password = pwd"
.Open 'this is where I get the error.
'Rest of code
錯誤消息: 運行時錯誤「2147467259(80004005): 找不到文件 'path.accdb'
我檢查了路徑,它是正確的。我已檢查缺少的參考。我還必須提到,數據庫文件位於我有權訪問的公司文件夾上的文件夾中。
請添加完整的代碼*,不起作用*您的問題。如果有保密的表/字段名稱,請更改它們,但要確保問題仍然存在(向您的數據庫中添加一個虛擬「myTable」)。請參閱[mcve] – Andre
您可能需要完整的路徑/文件名,而不僅僅是您的「路徑」,實際上它只是文件名。 – Gustav