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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Работа с TreeView (обработка событий и пременение методов)
 
 автор: TimRus   (07.06.2010 в 18:20)   личное сообщение
95 Кб.
 
 

Здравствуйте!!! Имеется форма "frmШР". В нескольких подразделениях могут быть одинаковые должности
Помогите пожалуйста реализовать следующее:
1) При добавлении/удалении нового подразделения в подчиненную форму "frmDepartament" (подразделения), необходимо производить те же действия и в дереве (добавлять/удалять узлы)
2) При добавлении/удалении новой должностив подчиненную форму "frmPost" (должности), необходимо производить те же действия и в дереве (добавлять/удалять узлы)
3)При нажатии на узел, который содержит название определенной должности, необходимо отображать сотрудника находящегося на данной должности в подразделении-родителе.

  Ответить  
 
 автор: Explorer   (07.06.2010 в 18:28)   личное сообщение
 
 

на этом сайте есть пример работы ActiveX

  Ответить  
 
 автор: TimRus   (07.06.2010 в 18:41)   личное сообщение
 
 

Да, я видел, на основе работ с этого сайта и соббственного опыта была сделана основная часть работы, а вот вышеперечисленные задачи реализовать не получилось.

  Ответить  
 
 автор: Pasat   (07.06.2010 в 19:39)   личное сообщение
 
 

TreeView full help
http://www.hot.ee/jurisfox/vfpplus/ax_treeview_02_ru.htm

  Ответить  
 
 автор: Lukas   (07.06.2010 в 20:43)   личное сообщение
 
 

Поскольку часть работы с TV описана в модуле формы frmШР, там и продолжим, на примере подчиненной формы fsubDepartament.
1. Префиксы ключей опишем константами:
Const strKeyRoot As String = "U"
Const KeyDept As String = "D"

2. Подпишемся на события класса Form подчиненной формы fsubDepartament:
Private WithEvents frmDept As Form 

3. В процедуре Form_Open назначим ссылку на подчиненую форму и назначим значения свойств:
    Set frmDept = Me.fsubDepartament.Form
    With frmDept
        .AfterInsert = "[Event Procedure]"
        .OnDelete = "[Event Procedure]"
    End With 

4. Опишем процедуры событий frmDept:
Private Sub frmDept_AfterInsert()
    Dim nodX As Node
    
    With frmDept
        Set nodX = trvEmployee.Nodes.Add(strKeyRoot, tvwChild, KeyDept & .КодПодразделения, _
                                             .НаимПодразделения, 3, 4)
        nodX.Tag = .КодПодразделения
    End With
    trvEmployee.Nodes(nodX.Key).Selected = True
    trvEmployee_NodeClick nodX
End Sub 

Private Sub frmDept_Delete(Cancel As Integer)
    trvEmployee.Nodes.Remove KeyDept & frmDept.КодПодразделения
End Sub 

Как-так, вкратце.
По второй подчиненной форме почти аналогично.
Третий пункт вроде как уже работает?

Чуть не забыл: Из подчиненной формы код добавления узла удалим.

  Ответить  
 
 автор: TimRus   (07.06.2010 в 21:22)   личное сообщение
 
 

Спасибо Lukas, я смотрю с классами работать на много проще!!! Можете порекомендоваь какую-небудь литературу.

  Ответить  
 
 автор: Lukas   (07.06.2010 в 21:42)   личное сообщение
17 Кб.
 
 

Могу. =>

  Ответить  
 
 автор: TimRus   (07.06.2010 в 21:45)   личное сообщение
 
 

О есть такая.... Нужно будет почитать!!! Спасибо!!

  Ответить  
 
 автор: TimRus   (07.06.2010 в 22:21)   личное сообщение
88 Кб.
 
 

==>

  Ответить  
 
 автор: TimRus   (07.06.2010 в 22:22)   личное сообщение
88 Кб.
 
 

Исправьте пожалуйста ошибки....
Ошибки возникают при открытии формы, добавлении должности, и при удалении подразделения с должностями.

  Ответить  
 
 автор: Lukas   (08.06.2010 в 01:45)   личное сообщение
52 Кб.
 
 

В последнем прицепе битый файл. Сделал пример на основе прицепа из первого вопроса.

  Ответить  
 
 автор: TimRus   (08.06.2010 в 09:33)   личное сообщение
 
 

Огромное вам спасибо Lukas!!!! Очень Вам признателен за помощь!!!!

  Ответить  
 
 автор: Explorer   (08.06.2010 в 12:28)   личное сообщение
21 Кб.
 
 

и как у тебя терпения и времени хватает???



ЗЫ
=>>

  Ответить  
 
 автор: Lukas   (08.06.2010 в 12:44)   личное сообщение
23 Кб.
 
 

...терпения и времени хватает?..
Неа.
Ну там очень много чего надо править, но не в два часа ночи-же?

ЗЫ. У вас кряк "не свежий". =>

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