Questo è un problema comune causato dal conteggio delle righe interpretato come output da una stored procedure quando si utilizza ADODB
con SQL Server.
Per evitare ciò ricorda di impostare
SET NOCOUNT ON;
nella tua Stored Procedure questo impedirà ADODB di restituire un recordset chiuso, o se per qualsiasi motivo non vuoi farlo (non so perché puoi sempre usare @@ROWCOUNT
per passare indietro il conteggio delle righe), puoi utilizzare
'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()
che restituisce il successivo ADODB.Recordset
se ADODB ne ha rilevato uno restituito dalla stored procedure (potrebbe essere meglio controllare rs.State <> adStateClosed
quando si tratta di più oggetti ADODB.Recordset).