使用Excel VBA自定义类来包装数据库调用并返回记录集

时间:2012-02-10 20:32:24

标签: excel syntax excel-vba ado vba

我有以下代码。目的是让我使用这个实用程序类来保存我的所有数据库工作,并返回填充的ADODB.RecordSet对象。我收到了错误。我做错了什么?

Public Property Get RecordSetCustomers() As ADODB.Recordset
    m_myDB.BuildConfig
    Dim cmd As New ADODB.Command
    Dim strSQL As String
    strSQL = "SELECT * FROM vw_customers"

    cmd.CommandType = ADODB.CommandTypeEnum.adCmdText
    cmd.ActiveConnection = m_myDB.DbConnection
    cmd.CommandText = strSQL

    Dim rs As New ADODB.Recordset
    Set rs = New ADODB.Recordset
    Set rs = cmd.Execute

    RecordSetCustomers = rs
End Property

m_myDB是一个包含所有数据库配置/连接参数的对象/类。

我收到的错误是:'编译错误:无效使用属性'

我尝试将其转换为具有相同结果的函数。

1 个答案:

答案 0 :(得分:2)

VBA语法需要关键字“set”才能进行对象引用分配。见http://roymacleanvba.wordpress.com/2009/05/08/set-keyword/

    ...
    Set RecordSetCustomers = rs 
    End property