Функция набора записей VBA Аргумент not Необязательная ошибка - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть функция, которую я хочу использовать, чтобы легко выполнять запросы к базе данных sql-сервера в нескольких подпрограммах, при этом все эти подпрограммы не имеют необходимых строк кода для подключения к БД.

Function rs(query As String) As ADODB.Recordset
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection

'connect to the DB
cnn.ConnectionString = "omitted"
cnn.Open

Set rs = cnn.Execute(query)
End Function

Функция работает нормально, но если я хочу определить количество записей, извлеченных в обычной подпрограмме, я получаю следующую ошибку

Ошибка компиляции: Аргумент не является обязательным

Private Sub UserForm_Initialize()

rs "omitted, but working query"

'ERROR ON THE FOLLOWING LINE
maxrows = UBound(rs.GetRows(1000000), 2)
rs.MoveFirst
    With Me.ComboBox1
        .Clear
        Do
            .AddItem rs![Table Name]
            rs.MoveNext
        Loop Until rs.EOF
    End With


End Sub

Я не могу понять причину этой ошибки, поскольку результат запроса объявлен как объект набора записей

...