【问题标题】:vba ActiveX can't create odbc.connection objectvba ActiveX 无法创建 odbc.connection 对象
【发布时间】:2017-12-11 20:16:28
【问题描述】:

我正在尝试创建 ODBC 连接,以便能够对我的 SQL DB 中的一个表执行简单的 sql 查询。

以下是我的代码,我不确定自己做错了什么,但我不断收到ActiveX can't create an object 错误,并且突出显示以下行:Set con = CreateObject("ODBC.Connection")

Private Sub findBtn_Click()

    Dim s
    Dim con As Object 'OdbcConnection
    Dim strCon
    Dim rsSearch
    Dim strSql
    Dim mystring As String
    Dim cmd 'As OdbcCommand

    s = Me.findTxt

    mystring = "Select * from CUSTOMER where CUSTOMER.FORENAME1 like '%" & s &   "%';"

    Set con = CreateObject("ODBC.Connection")

    con.Open "ODBC;Driver={SQL Server};" & _
    "Server=localhost;" & _
    "Database=Customers23;" & _
    "UID=admin;" & _
    "PWD=admin;"

    Set cmd = CreateObject("ODBC.Command")
    cmd = mystring
    Me.resTxt = "Connected!"
    MsgBox ("Connected")

End Sub

【问题讨论】:

  • 您没有使用标准 ADODB 库的任何原因?
  • @Mat'sMug 原因是我需要访问 SQL Server Db,我认为我必须使用 External Data => ODBC Datebase 来创建指向我的 SQL Server Db 的链接能够从 Access 表单中查询我的 SQL DB。所以这个假设是不正确的,是吗?
  • 是的。你会想要使用 ADODB。祝你好运!
  • @Mat'sMug 感谢您的及时回复!还有一个问题,那么我如何将我的 SQL Server Db 链接到我的访问表单(我的意思是没有外部数据 => ODBC 数据库)?

标签: sql-server vba ms-access odbc


【解决方案1】:

尝试将 ODBC.Connection 替换为 ADODB.Connection。

与 ODBC.Command 相同

你可以在这里找到一个例子How do I setup an ADODB connection to SQL Server 2008 in Microsoft Access 2010?

另请参阅有关如何使用 Command 对象的链接。

【讨论】:

  • 谢谢!将尝试这种方法。
  • ODBC 允许您在系统中创建一个名称,因此您只需使用一个更容易记住的名称来引用连接。 ADODB 是控件,他说得对,ADODB.Connection 是要走的路。
猜你喜欢
  • 1970-01-01
  • 2013-10-22
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
  • 2010-12-25
  • 2018-01-22
相关资源
最近更新 更多