Abre el recordset que contenga el resultado de la consulta,
por ejemplo:
Set RS = CN.execute(QS)
una vez que tienes el recorset, con la función GetRows()
conviertes el recordset en una tabla de 2 dimensiones:
dim T as variant
T = RS.GetRows()
numRec = Ubound( T ,1) ' Número de registros en la tabla
numField = Ubound( T, 2) ' numero de campos en cada registro
el primer indice de la tabal se refiere a los registros, el segundo al campos dentro del registro
por ejemplo T(3,2) sería el tercer campo del cuarto registro lido.
( probado en VBScript, aun no he tenido ocasión de hacerlo en VBcompilado).