【问题标题】:Unable to connect to DB from VBA but able to connect from Access无法从 VBA 连接到 DB,但能够从 Access 连接
【发布时间】:2016-11-23 23:09:38
【问题描述】:

我可以使用 Access 连接到数据库,但不能从 VBA 连接。在 Access 中,我使用服务器名称、Windows NT Integrated Security 和数据库名称。在 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;"

【问题讨论】:

标签: sql vba ms-access connection-string


【解决方案1】:

您在连接字符串中使用的提供程序用于 MS Access。 如果那是正确的数据库,请执行以下操作。 添加引用“Microsoft Office 14.0 Access Database Engine 对象库。

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

【讨论】:

    猜你喜欢
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 2015-08-19
    相关资源
    最近更新 更多