Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как это перевести в VBA
 
 автор: час   (26.12.2009 в 20:34)   личное сообщение
 
 

http://www.ibase.ru/devinfo/tree_sum.txt

  Ответить  
 
 автор: osmor   (28.12.2009 в 08:58)   личное сообщение
 
 

проще написать самому.
Опять же рекурсия

  Ответить  
 
 автор: час   (28.12.2009 в 09:44)   личное сообщение
 
 

да - проще
я уже третий день пишу эти десять строк кода
осталось немного - 3 строки....
забыл как клон рекордсета сделать............
Вы не помните???
вроде так
Set rs = rst.Clone()

  Ответить  
 
 автор: ShadowOfSun   (28.12.2009 в 10:11)   личное сообщение
 
 

Ну очень дурацкий вопрос:
Час, ты рекурсию выбрал по религиозным причинам?

предлагаю немножко другой подход
1. в таблице с данными дерева завести поле с полным путем к узлу
например
01 - стартовая запись
01-02 - дочерняя запись
01-02-01 ребенок
01-02-01-04 внучек
тогда самое глубокое вложение легко найти через Len()
и пересчет всех вложений будет выглядеть примерно так

а) находим самую длинную строчку
б) присваеваем это значение переменной
в) просчитываем все поля с данной длинной
г) уменьшаем переменную на 3
д) переход к пункту в) и подсчет деток через SQL как я уже писал
е) все это в цикле do .. loop с условием выхода переменная = 0

P. S. Может я чего то не догоняю и проблема в другом извините...

  Ответить  
 
 автор: час   (28.12.2009 в 10:51)   личное сообщение
 
 

Час, ты рекурсию выбрал по религиозным причинам?

======================================

=====================================
НЕТ,
Из- за неправильной ориентации

  Ответить  
 
 автор: kot_k_k   (28.12.2009 в 12:07)   личное сообщение
 
 

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

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList