Excel VBA, как свести два ADODB.Recordset. Вопрос быстродействия.

Узнай цену своей работы

Формулировка задачи:

В чем суть, после выполнения двух запросов имеем два Recordset, RS и RS2 по 10 000 строк каждый.
В первой колонке храниться код позиции, во второй присвоенный класс АВС.
Необходимо подсчитать сколько позиций сменили класс АВС и в какую сторону.
Например:

Собрал две конструкции.
1. Отрабатывает за 9 минут.

2. Время отработки неизвестно.

Каким способом ускорить выполнение данной задачи?

Решение задачи: «Excel VBA, как свести два ADODB.Recordset. Вопрос быстродействия.»

textual
Листинг программы
RS.Open "SELECT Позиция, (Позиция) AS Класс, (SUM(Кол_во_Транзакций)) AS Сумма_Транзакций " & _
                  "FROM [" & Имя_Листа & "$] " & _
                  "WHERE (Зона IN (" & Скл_Подразделения & ") AND " & _
                  "Дата IN (" & Период_Даты1 & Период_Даты2 & Период_Даты3 & Период_Даты4 & Период_Даты5 & Период_Даты6 & "))" & _
                  "GROUP BY Позиция " & _
                  "ORDER BY 3 DESC", _
                  CN, adOpenStatic, adLockBatchOptimistic

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы