ник: osmor
так очень сложно что-то посоветовать. Возможно что другого решения нет.
возможно можно как-то объединить значения по типам в несколько рекордсетов. Кроме того у рекордсета есть свойстов filter которое работает довольно быстро.
Можно попробовать создавать recordset c group by тогда не нужно будет использовать RecordCount , а можно будет просто взять значение из поля рекаордсета. Еще есть PIVOT запросы (перекрестные запросы). Возможно стоит все делат прямо в Excel. т.е. выгнать данные в excel, и там программно построить сводную таблицу с нужными группировками.