У меня есть функция, которую я хочу использовать, чтобы легко выполнять запросы к базе данных 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
Я не могу понять причину этой ошибки, поскольку результат запроса объявлен как объект набора записей