Использование пользовательского класса Excel VBA для переноса вызовов базы данных и возврата наборов записей - PullRequest
1 голос
/ 11 февраля 2012

У меня есть следующий код.Намерение состоит в том, чтобы иметь этот служебный класс, который я использую для хранения всей своей работы с базой данных, и просто возвращать заполненные объекты 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 Ответ

2 голосов
/ 11 февраля 2012

Синтаксис VBA требует ключевого слова 'set' для назначения ссылки на объект.Смотри http://roymacleanvba.wordpress.com/2009/05/08/set-keyword/

    ...
    Set RecordSetCustomers = rs 
    End property
...