Access 2010中不支持AdoDB.Connection对象的Open方法

时间:2015-07-16 13:03:35

标签: ms-access access-vba connection ms-access-2010 adodb

目前我正在使用正在使用ODBCDirect的Access数据库应用程序。升级到Access 2010后,我收到一条错误消息,告诉我ODBCDirect不再受支持,并且每次运行应用程序时我都必须在相应的源代码部分中从DAO更改为ADO。 我发现此错误消息的来源是负责使用ODBCDirect的数据库连接的源代码。

我按照ADODB.Connection对象及其开放的教程进行了操作。我使用ADODB.Connection对象将此代码更改为以下简单代码。

现在我收到新的错误消息“( - 2147467259)此类对象”不支持此操作。

我发现我使用ADODB.Connection对象的Open函数的地方导致了新的错误消息:

{{1}}

在vba编辑器中,我在参考设置中选择了Microsoft ADO 2.8库和Microsoft ADO 2.8 RecordSet库。

1 个答案:

答案 0 :(得分:1)

我不确定为什么你的尝试失败了,但有几个问题对我来说很可疑。

  1. 不要在ADO连接字符串中包含 ODBC; 。包含该部分会在我的测试中触发运行时错误。
  2. 我认为您不应在连接字符串中同时包含 DRIVER = {SQL Server} Provider = Microsoft.ACE.OLEDB.12.0
  3. 包括 UserID = user; Password = pw Trusted_Connection = yes 似乎都是错误的。选择其中一个,而不是两个。
  4. 在设置Set conWork = New ADODB.Connection并致电ConnectionString之前,您必须Open。我不知道你的完整代码是否会这样做;应该。
  5. 我认为您不需要记录集库引用,但不知道是否包含它会导致问题。
  6. 也许你最好从已知工作的ADO连接代码开始。此代码在Access 2010中使用 Microsoft ActiveX Data Objects 2.8 Library 引用,并成功连接到我的本地SQL Server。

    Dim conWork As ADODB.Connection
    Dim strConnect As String
    strConnect = "DRIVER={SQL Server};SERVER=HP64\SQLEXPRESS;Trusted_Connection=Yes;DATABASE=testbed"
    Set conWork = New ADODB.Connection
    conWork.ConnectionString = strConnect
    conWork.Open
    

    您可以在ConnectionStrings.com找到有关SQL Server连接字符串的更多信息。