Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft Access |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Банджо Member Откуда: Сообщений: 320 |
Добрый день, нужно создать - наполнить иерархическую структуру, но как это все будет выглядеть станет ясно по мере наполнения (пишем - смотрим что получилось - исправляем - пишем и тд). Известно только что на верхнем уровне не более 10 строк, самих уровней не более 5, число записей не больше 5000. Попробовал обычными таблицами, неудобно, медленно. Полез в Тривью - знаний явно не хватает, попробовал понять - увяз. Пошел по простому пути, прочитав несколько раз "в сети примеров море" полез искать примеры, но нужного найти пока не удалось. Скачал пример mdb с https://jkp-ads.com, но он при запуске вылетает на Private mUF As ufTreeView видимо не хватает какой-то библиотеки для ufTreeView, не нахожу чего именно. В идеале нужна такая бы картинка [url=]https://jkp-ads.com/images/TreeViewExample.gif[/url] но я явно не осилю такую штуку, поэтому хотя бы простое дерево. Если у кого есть, просто ссылка на работающий пример с "живой" иерархией, где можно добавлять, удалять, исправлять, перемещать узлы-строки. Спасибо. |
8 окт 19, 21:44 [21989885] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7165 |
Простой пример: К сообщению приложен файл (treeviewP1.rar - 39Kb) cкачать ![]() |
8 окт 19, 23:02 [21989928] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7165 |
Это почти Ваш идеал: К сообщению приложен файл (treeviewP2.part01.rar - 145Kb) cкачать ![]() |
8 окт 19, 23:15 [21989935] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7165 |
К сообщению приложен файл (treeviewP2.part02.rar - 127Kb) cкачать ![]() |
8 окт 19, 23:16 [21989937] Ответить | Цитировать Сообщить модератору |
Банджо Member Откуда: Сообщений: 320 |
sdku, спасибо, но открылся только простой Р1, остальные два пишет ошибку при распаковке, можно это поправить? |
9 окт 19, 17:05 [21990689] Ответить | Цитировать Сообщить модератору |
osmor Member Откуда: hiprog.com Сообщений: 1173 |
Банджо, Пример работы с TreeView |
9 окт 19, 17:47 [21990736] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7165 |
-распаковать 1 том архива(если рядом, в этой же папке, не будет 2 тома возникнет ошибка) Это та же база что и в ссылке данной osmor |
||
9 окт 19, 18:24 [21990758] Ответить | Цитировать Сообщить модератору |
Банджо Member Откуда: Сообщений: 320 |
osmor, sdku спасибо. Я смотрел эту базу, но у нее некорректно работает перетаскивание и добавление. А сам я это дело явно не допилю ( |
9 окт 19, 20:24 [21990837] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7165 |
Банджо, добавление и в простом примере есть а вот с перетаскиванием посложнее будет. Предлагаю хорошенько подумать-а оно вам нужно? На худой конец, пользуясь простым примером, показать какой пункт удалить (соображайте как-найти по id отображаемому в поле на форме и куда вставить-для этого достаточно изменить поле [IDParents] (значение родительского узла) в таблице structura и обновить TreeWiew |
9 окт 19, 22:30 [21990892] Ответить | Цитировать Сообщить модератору |
Serg197311 Member Откуда: Жуковский Сообщений: 837 |
Для того чтобы у меня это заработало мне понадобилось описать события OLEstartDrag OLEDragOver Дополнительно научиться определять точное положение курсора через API(.Hittest) OLEDragDrop Написать свою функцию обработки события, которая как раз и осуществляет "перетаскивание" - те то что мы видим на экране Сделать изменения в структуре таблиц, которые позволяют этой функции работать... Что я думаю...... Я конечно могу выложить сюда форму с кодом, который в моей базе работает. Но адаптировать ее к вашей базе вам придется самому и для этого придется прилично поработать. Да - все исходные примеры для адаптации я нашел здесь же, сам ей-Богу ничего не придумал..... Наверное месяца 2 это у меня заняло... И перетаскивание, и скролл дерева, и выпадающие меню на нем..... |
||
10 окт 19, 07:12 [21990989] Ответить | Цитировать Сообщить модератору |
Банджо Member Откуда: Сообщений: 320 |
Прошу прощения за отсутствие. sdku, нужно ли перетаскивание... главная проблема в неопределенности задачи, а значит в неясности структуры дерева. То есть сегодня ты пишешь данные в одну ветку, а по мере их накопления становится ясно, что нужно делать иначе и переписываешь структуру. Потом снова пишешь, а потом снова необходимо что-то менять. Это не значит, что правильнее сначала бы все продумать а потом делать, не наоборот. Просто задача такая, нечеткая. Понять, какой она станет, можно только набивая данные. Может дело и ограничится небольшими переделками, но далеко не факт. Нет перетаскивания - значит начинаются делет-инсерты. Сколько их будет - неизвестно, поэтому лучше, конечно, иметь соответствующий инструмент. Хотя можно и без него, в таблицах все сделать, теми же делет-инсертами. Но с живым нормальным деревом конечно все лучше и нагляднее, потому и полез смотреть на "в сети море примеров" .. из трех штук, как оказалось. Serg197311, к сожалению, у меня нет двух месяцев на освоение инструмента. Определять положение курсора я не умею, да там ведь много всего кроме этого. Несмотря на то, что баз написано немало, но все они больше по поверхности кода, на 3+ в лучшем случае. Насколько я смог понять объемы-содержание кода дерева, я вполне смогу адаптировать таблицы к примеру и косметику форм, плюс-минус мелочи, но не более того. Так что если адаптация это оно - то буду благодарен. Если нужно будет лезть в код, то спасибо, я не справлюсь с этим. Так что если "море примеров в сети" уже исчерпалось, то скорее придется отложить свои хотелки с деревом в сторону и оставить для работы просто таблицы. Красивости мне по большому счету не нужны, а вставить-удалить-править можно и в них. |
11 окт 19, 21:58 [21992569] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7165 |
Банджо, Инструмент... при выделении ноды в поле формы[ВыбранныйНод] появляется её значение ID в тбл.struktura ,которое надо запомнить.После этого показать куда переместить (значение отразится в поле [ВыбранныйНод]. Заменить в таблице [struktura]![IDParent] для записи с ID, определенным ранее на указанный "куда переместить". Обновить дерево.Как-то так |
11 окт 19, 22:30 [21992581] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7165 |
Если распаковать-все ОК |
||
13 окт 19, 21:34 [21993255] Ответить | Цитировать Сообщить модератору |
vmag Member Откуда: MP Сообщений: 3912 |
+ ну да, отдельная форма для корректировки: - слева дерево и справа такое же дерево один в один (как в файловом менеджере), - по середине кнопка >> ПЕРЕМЕСТИТЬ >> - при нажатии кнопки, выделенный узел слева перемещается в выделенный узел справа - обновить деревья и слева и справа, показать справа изменения... ну как бэ кнопка должна делать то, что делается сейчас руками... а перетаскивание это имхо баловство - можно так перетащить, что потом хрен найдешь куда... разве ни к кому тети и бабушки не приставали с просьбой найти папочку, которую они куда то перетащили ???? |
||
13 окт 19, 23:41 [21993294] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7165 |
![]() |
||
14 окт 19, 13:43 [21993691] Ответить | Цитировать Сообщить модератору |
Банджо Member Откуда: Сообщений: 320 |
sdku, я распаковывал.. проверю еще раз
|
||
14 окт 19, 15:34 [21993838] Ответить | Цитировать Сообщить модератору |
Дар1 Member Откуда: Сообщений: 92 |
Вопрос по Тривью. У вас это работает под 64 битных ОС и Офисе? У меня нет. пишет всякие гадости. |
30 янв 20, 12:23 [22069433] Ответить | Цитировать Сообщить модератору |
Панург Member Откуда: настоящему индейцу завсегда везде ништяк Сообщений: 5115 |
|
||||
30 янв 20, 12:39 [22069458] Ответить | Цитировать Сообщить модератору |
Дар1 Member Откуда: Сообщений: 92 |
Не попадались решения? Или это глухой номер |
30 янв 20, 13:16 [22069504] Ответить | Цитировать Сообщить модератору |
Панург Member Откуда: настоящему индейцу завсегда везде ништяк Сообщений: 5115 |
Дар1, https://www.sql.ru/forum/1272099/treeview-bez-mscomctl-ocx-vsyo-na-vba-podoydyot-dlya-access-64-bit?hl=treeview |
30 янв 20, 13:56 [22069542] Ответить | Цитировать Сообщить модератору |
Дар1 Member Откуда: Сообщений: 92 |
Нет там ничего |
30 янв 20, 15:10 [22069614] Ответить | Цитировать Сообщить модератору |
Панург Member Откуда: настоящему индейцу завсегда везде ништяк Сообщений: 5115 |
|
||||
30 янв 20, 15:26 [22069633] Ответить | Цитировать Сообщить модератору |
Serg197311 Member Откуда: Жуковский Сообщений: 837 |
Все там есть. У меня отлично работает. |
||||
30 янв 20, 15:49 [22069659] Ответить | Цитировать Сообщить модератору |
Дар1 Member Откуда: Сообщений: 92 |
Серг. Что именно работает? Вы о том примере который представили пара иностранных разарботчиков? |
31 янв 20, 15:15 [22070349] Ответить | Цитировать Сообщить модератору |
Serg197311 Member Откуда: Жуковский Сообщений: 837 |
Да, я этот пример прикрутил к проекту на VBA(не в Аксе) Дерево работает быстрее чем штатное пока не разобрался с DRAG DROP и всякими мелочами - но в целом доволен |
||||
31 янв 20, 15:50 [22070371] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Все форумы / Microsoft Access | ![]() |