创建与数据库的连接时未定义用户定义的函数类型

时间:2014-12-21 07:26:50

标签: sql database excel-vba sql-server-2012 vba

打开数据库连接时出现错误

  

用户定义的类型未定义

我能够在同一个宏中创建连接,但我必须创建连接函数才能使用任何项目。

 Option Explicit
    Public CN As ADODB.Connection
    Public Function Connection() As ADODB.Connection

      If CN Is Nothing Then
        Set CN = New ADODB.Connection
        Dim Con_str As String

        Con_str = "Provider=SQLOLEDB;Persist Security Info=True;User ID=" & getvalue("User_id") & _
                ";Password=" & getvalue("Password") & _
                ";Initial Catalog=" & getvalue("Database_Name") & _
                ";Data Source=" & getvalue("Server_Name") & ";"

        Debug.Print Con_str

      CN.Open Con_str
      End
      Set Connection = CN
    End Function
    Sub teting()

    Dim rs  As ADODB.Recordset
    rs.Open connetion(), adOpenStatic 'CreateObject("ADODB.Connection")
    ActiveSheet.range("A10").CopyFromRecordset rs
    End Sub

这个问题的实际原因是什么?

谢谢,

Uttam Patel

1 个答案:

答案 0 :(得分:0)

您需要启用Microsoft ActiveX Data Objects x.x Library,其中x.x将替换为您可用的版本号。

你会在工具下找到它 - > VBA编辑器中的参考文献。