Я пытаюсь сделать что-то для каждой группы данных, как это.
Sub filt()
Dim nets As ADODB.Recordset
Dim records As ADODB.Recordset
Dim sqlStr As String
sqlStr = "SELECT distinct [Sheet1$].netId FROM [Sheet1$]"
Set nets = queryExecutor(sqlStr)
Do
If Not IsNull(nets(0)) Then
sqlStr = "SELECT * FROM [Sheet1$] WHERE [Sheet1$].netId = '" & nets(0) & "'"
Set records = queryExecutor(sqlStr)
' The type of records is Recordset
Debug.Print "The type of records is " & TypeName(records)
reducer(records)
End If
nets.MoveNext
Loop Until nets.EOF
End Sub
Function queryExecutor(sql As String) As Object
...
End Function
Субредуктор выглядит так, когда я вызываю саб, он дает мне ошибка времени выполнения 13, несоответствие типов ошибка
Sub reducer(records As ADODB.Recordset)
...
End Sub
Затем я попробовал что-то вроде этого
Sub reducer(records As Object)
' The type of records is Fields
Debug.Print "The type of records is " & TypeName(records)
End Sub
Кажется, тип записей стал полями и я понятия не имею, почему. Я использую Excel 2013 (32-разрядную версию) в 64-разрядной системе Windows 10.
Любая помощь приветствуется!