|
sql и Treeview
|
|||
---|---|---|---|
#18+
Есть таблица с данными организованными по древесной структуре. Есть ли способ осуществить выборку всех нод, подчиненных выбранной на Treeview с помощью sql? Как это сделать через рекордсет понятно, но долго работает.... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 14:44 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311но долго работаетнасколько долго, какого размера таблица(примерно 1т-10т-100т записей) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 15:11 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311Есть таблица с данными организованными по древесной структуре. Есть ли способ осуществить выборку всех нод, подчиненных выбранной на Treeview с помощью sql? Как это сделать через рекордсет понятно, но долго работает.... Древесные структуры разные бывают..nested sets, например. Какой у вас тип иерархических данных или просто напишит основные поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 15:18 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311, Какова структура таблицы "с данными организованными по древесной структуре." Если она как на скрине,то можно использовать и качестве критерия отбора в запросе IDparents=Replace(Node.Key, "_", "") (только не понимаю зачем вся эта затея) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 15:34 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311, Посмотрите тут, может подойдёт http://am.rusimport.ru/MSAccess/topic.aspx?ID=463 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 18:54 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Структура как у sdku ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 04:10 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Количество записей планируется десятки тысяч. Из того что пока успел осознать - один из способов - добавить связующую таблицу с "глубиной" пути и выборку делать по ней..... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 04:34 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311Есть таблица с данными организованными по древесной структуре. Есть ли способ осуществить выборку всех нод, подчиненных выбранной на Treeview с помощью sql? Как это сделать через рекордсет понятно, но долго работает.... зависит от количества уровней вхождения --у меня было около 20(записей около 80т) --а Алекс999 более 50(была долгая дискуссия несколько лет назад) хотя я применяла в своей базе навигации не дерево, а веер входимости --таб1 --детали(код1, гравировка,наименование,.....)+несколько расчетных полей(список цехов, список изделий,...) --таб2 --состав изделия(код2,код_куда,код_что, сколько) принцип работы --динамическая посимвольная фильтрация по 10 полям в любом сочетании по таб1(гравировка, наименование,цех, изделие, годПоследнено изменения, номерИзменения......) --при клике на выбранной детали --показ кодгравировканаименованиецехаизделия....сборка101111.222.333-01втулка распорная101,102,103...055,155,255,...куда входит002111.222.000сборка.......куда входит002111.223.000сборка....что входит911333.222.222что входит911333.222.222.... при клике на строку куда/что ---переход на выбранную деталь ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:04 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Спасибо откликнувшимся, как заставить sql работать по дереву - боле-менее ясно.... но задача немного сложнее Дерево в таблице - спецификация сборочных узлов и деталей некоторого изделия. число узлов (позиций) в каждом изделии - несколько тысяч. Глубина уровней вложенности - до 10......(ну может и 12 -15 когда нибудь встретится). У каждой позиции есть характеристика - количество..... И оно совсем не всегда 1.... Требуется: Выбрать из этого изделия( или его части, которая определяется выделением ключевого узла на дереве) все детали или сб единицы, чьи характеристики отвечают неким условиям.... так вот.... получу я эту самую выборку позиций из таблицы... а количество из каждого пункта нужно еще перемножить на количества из Parent узлов до самой макушки.... Не, в коде VBA я написал конечно функцию, которая все делает.... но - тормозит. При количестве позиций около 2000 весь цикл получения выборки занимает минуту - полторы.... хочется как-то это ускорить.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:17 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311Есть ли способ осуществить выборку всех нод, подчиненных выбранной на Treeview с помощью sql?Не очень понял вопрос. Ты хочешь с помощью языка SQL выбирать объекты (ноды) в ActiveX TreeView? Чекбоксы? Serg197311, может ты пример сделаешь со своим видением проблемы (и не просто одну таблицу приложить)? Serg197311Количество записей планируется десятки тысяч.По моему несколько бредовая идея в TreeView выбирать столько ветвей. Да и делать дерево такой величины. Кто его смотреть будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:20 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Пенсионерка, спасибо.... Но изменить структуру базу уже не представляется возможным..... придется мудрить с деревом.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:22 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Панург, чуть выше я попробовал более подробно обьяснится.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:25 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311Требуется: Выбрать из этого изделия( или его части, которая определяется выделением ключевого узла на дереве) все детали или сб единицы, чьи характеристики отвечают неким условиямА, так вон ты чего хочешь... Почитай пока вот эту эпичную тему - Оптимизация и улучшение алгоритма выборки данных о составе (структуре) Изделия ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:25 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311чуть выше я попробовал более подробно обьяснится....Заметил уже после написания поста. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:26 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Прям щас нашел ошибку( неоптимальность) в коде.... поправил.... теперь цикл - 5 сек. это уже приемлемо... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:36 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311Требуется: Выбрать из этого изделия( или его части, которая определяется выделением ключевого узла на дереве) все детали или сб единицы, чьи характеристики отвечают неким условиям.... так вот.... получу я эту самую выборку позиций из таблицы... а количество из каждого пункта нужно еще перемножить на количества из Parent узлов до самой макушки.. помимо 2-х основных таблиц была и третья -расчетная таб3(код3,код изделия,код детали,количество) сугубо расчетная,если надо пересчитать 055 изделие, то --из таб3 удаляется изделие 055 --по таб2 заново рассчитывается изделие 055 начиная с головы и дописывается в таб3 все основные расчеты, где нужны итоги по цех,участок, изделие,профессия,оборудование .... делались с таб3 и табТрудоемкость(наименования деталей из таб1) таб2 напрямую применялась только в расчете сборочной трудоемкости ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:43 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311Но изменить структуру базу уже не представляется возможным..... придется мудрить с деревом.. дерево вель основано на таблице куда+что+сколько меня только интересует, как вы описываете повторяющиеся части(один раз или в каждой ветке/изделии) например --у меня одна из деталей входила в 800 сборок 200-т изделий --у сборок количества меньше, по 10-15 повторов имели многие сборки если можете, покажите по демо -скайпу структуры --интересно сравнить мою и вашу реализации ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 07:48 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
[quot ПЕНСИОНЕРКА]Serg197311меня только интересует, как вы описываете повторяющиеся части(один раз или в каждой ветке/изделии) 1) Есть таблица 1 - общий каталог предприятия - там названия, номера изделий и их характеристики. Там есть некое подобие древесной структуры - но оно примерное.... так как там нем может быть повторяющихся записей и нет количеств, и реализовать там полноценную структуру изделия нельзя. 2) есть таблица 2 - которая содержит точную структуру изделия, количества деталей в сборках и ссылку на деталь( сборку) из главного каталога. таким образом я могу в конкретном изделии многократно использовать позиции из главного каталога ну а при выборке приходится пробегать по узлам до макушки( выбранной ноды) и перемножать количества.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 08:19 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
имелось ввиду - в каждой строке табл2 есть ссылка(уникальный код из табл 1) на деталь из главного каталога ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 08:22 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311имелось ввиду - в каждой строке табл2 есть ссылка(уникальный код из табл 1) на деталь из главного каталога у меня таб1--это просто справочник наименований деталей/сборок таб2 --собственно состав изделия(куда+что+сколькоНаУзел), аналог вашей таб2 таб3 --после добавления наименований, это ваша ваша таб1, только в ней есть количество на изделие,рассчитывается заранее,причем сначала на временное изделие(после проверки и утверждения заменяет существующее) таб4--трудоемкость детале-операции,м:м к таб3 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 08:43 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311ну а при выборке приходится пробегать по узлам до макушки( выбранной ноды) и перемножать количества....А сколько по времени происходит заполнение дерева при таком количестве и структуре? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 09:15 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
Serg197311Количество записей планируется десятки тысяч. Из того что пока успел осознать - один из способов - добавить связующую таблицу с "глубиной" пути и выборку делать по ней..... И все десятки тысяч записей нужно отобразить в развернутом TreeView? Обычно загружают только корневые элементы и подгружают ветки при их разворачивании. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 10:34 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
[quot Панург]Serg197311А сколько по времени происходит заполнение дерева при таком количестве и структуре? )))) ООООЧень хороший вопрос))) Структура и характеристики сборок содержатся в чертежа Catia. Написал код, который открывает файлы, считывает информацию, структурирует и запихивает в базу(хоть 20 чертежей сразу). Код писал долгаааааааа..... а работает он теперь быстро:)) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 11:15 |
|
sql и Treeview
|
|||
---|---|---|---|
#18+
[quot Alibek B.]Serg197311И все десятки тысяч записей нужно отобразить в развернутом TreeView? Обычно загружают только корневые элементы и подгружают ветки при их разворачивании. Нет - отобразить надо сразу 2000-3000( одно изделие), это в таблице десятки тысяч .... пока вроде работает и не тормозит и не глючит.... если что начнется, воспользуюсь вашим советом, спс.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 11:18 |
|
|
start [/forum/topic.php?fid=45&fpage=49&tid=1611363]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 279ms |
total: | 417ms |
0 / 0 |