Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: alex-freeman


Никакой рекурсии я тут не наблюдаю.
Для каждой записи Таблица1 будет выполнен ОДИН суммирующий запрос.


Lukas, может вы и правы и это не рекурсия в чистом виде. Но ведь сравнивается таблица1 с самой собой и для выполнения суммирующего запроса для каждой записи просматриваются все записи этой же таблицы1.



Надеюсь поле Таблица1.Компания имеет тип Long и содержит внешний ключ на справочную таблицу компаний?


к сожалению, тут вы правы "Таблица1.Компания" - это текстовое поле. Я его связал с ключевой таблицей и включил индексацию по Компания и Дата. В результате +1/3 производительности. Это конечно хорошо, за что, Lukas, большое спасибо! Но в целом проблему не решает. Если бы уменьшить время в разы...
Все же хочу сделать что запланировал, чувствую, что должно помочь. Ведь тогда, вместо того геморойного подзапроса для "нар.итог" всей исходной таблицы достаточно будет делать обычную группировку с суммированием для каждой группы: к1,к2 и т.д.

По-прежнему, прошу (уже всех) показать как получить на VBA список компаний и в цикле выполнять один и тот же запрос для каждой компании пока список не кончится одновременно записывая результаты выполнения запросов в стороннюю таблицу.

Кстати, может есть другой способ рассчитать поле "нар.итог" из моего примера?


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.