无法从VBA连接到数据库但能够从Access

时间:2016-11-23 23:09:39

标签: sql vba ms-access connection-string

我可以使用Access连接到数据库,但不能从VBA连接到数据库。在Access中,我使用服务器名称,Windows NT集成安全性和数据库名称。在VBA中,我在连接字符串中尝试了许多变量名和值的变体,db.Open命令总是失败。我通常会收到一个错误,无法找到可安装的ISAM,或多步OLE DB操作生成错误。有没有办法确定我可以用作连接工作连接的连接字符串?代码失败的一个例子是后一个错误:

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;"

1 个答案:

答案 0 :(得分:0)

您在连接字符串中使用的提供程序用于MS Access。 如果那是正确的数据库,那么执行以下操作。 添加引用“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
相关问题