Това е често срещан проблем, причинен от това, че броят на редовете се интерпретира като изход от съхранена процедура при използване на ADODB
със SQL Server.
За да избегнете това, не забравяйте да зададете
SET NOCOUNT ON;
във вашата Съхранена процедура това ще спре ADODB да връща затворен набор от записи или ако по някаква причина не искате да правите това (не съм сигурен защо, тъй като винаги можете да използвате @@ROWCOUNT
за да прехвърлите броя на редовете назад), можете да използвате
'Return the next recordset, which will be the result of the Stored Procedure, not
'the row count generated when SET NOCOUNT OFF (default).
Set rs = rs.NextRecordset()
който връща следващия ADODB.Recordset
ако ADODB е открил, че такъв се връща от Съхранената процедура (може би е най-добре да проверите rs.State <> adStateClosed
когато работите с множество ADODB.Recordset обекти).