2016-11-23 112 views
0

我能夠使用Access連接到數據庫,但不能從VBA連接到數據庫。在Access中,我使用服務器名稱,Windows NT集成安全性和數據庫名稱。在VBA中,我嘗試了連接字符串中變量名和值的許多變體,並且db.Open命令總是失敗。我通常會遇到關於無法找到可安裝ISAM或多步OLE DB操作生成錯誤的錯誤。有沒有辦法確定我可以用作連接字符串從工作訪問連接?一個錯誤代碼示例:無法從VBA連接到數據庫,但能夠從Access進行連接

Dim db As Object 
Dim adoRS As Object 
Set db = CreateObject("ADODB.Connection") 
Set adoRS = CreateObject("ADODB.recordset") 
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
"Server=sql03;" & _ 
"Database=db1;" & _ 
"Integrated Security=SSPI;" 
+0

你連什麼類型的數據庫的*爲*? – Comintern

+1

https://www.connectionstrings.com/ –

回答

0

您在連接字符串中使用的提供程序用於MS Access。 如果這是正確的數據庫,然後執行以下操作。 添加refrence「的Microsoft Office 14.0 Access數據庫引擎對象庫。

Dim cnString, query As String 
Dim rs As New ADODB.Recordset 

'If older version of MS access then try Provider=Microsoft.Jet.OLEDB.4.0;' 

cnSTring= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<Path>;Jet OLEDB:Database Password=<Pass>;" 
query = "SELECT * FROM TABLE"  
rs.Open query, cnString, adOpenStatic, adLockOptimistic