Нашел в поиске чем-то похожую тему. Там автора сравняли с землей, все же рискну поднять похожий вопрос.
Имею свою функцию. Туда передаются пять аргументов. Один из них GoodsID.
Функция используется в запросе.
В самой функции для каждой GoodsID мне надо определить отдельные Static переменные, чтобы в них накоплялись результаты по группам для запроса. Т.е. мне нужно определять Static переменные динамически. Но как?
Сейчас я делаю так: (пожалуйста, не поленитесь разобраться в следующем маленьком коде)
- Код: Выделить всё
Public Function sum_res3(..,,,,., GoodsID As Long) As Double
Static OLD_RES() As Double
Static FIRST_OBROSHCHENIE As Boolean
If FIRST_OBROSHCHENIE = False Then ReDim OLD_RES(2, 0): FIRST_OBROSHCHENIE = True
If GoodsID > UBound(OLD_RES(), 2) Then ReDim Preserve OLD_RES(2, GoodsID)
Но GoodsID это Long, и может быть произвольным. Т.е. несмотря на не надобность массив может получиться огромным.
Кто не будь, может посоветовать решенные?
2-й путь, вместо OLD_RES(2, 0) использовать OLD_RES(3, 0) и в 3-ем хранить GoodsID, не подходит. Перебор в цикле тормозит запрос до бесконечности.
3-й путь, вместо OLD_RES использовать Collection тоже не подходит, тормозит запрос примерно в четыре раза.