powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подчиненные классы VBA и вычисление свойств
2 сообщений из 2, страница 1 из 1
Подчиненные классы VBA и вычисление свойств
    #36407971
TERn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2 класса, подпрограмма pp и группа group ,
в каждом из них хочу видеть несколько одинаковых свойств, решил объединить их в еще один класс data
получилась такая структура:

Код: plaintext
1.
2.
3.
4.
'pp class module
Public kod As Integer
Public groups As Collection
Public d As data

Код: plaintext
1.
2.
3.
'group class module
Public kod As Integer
Public d As data

Код: plaintext
1.
2.
3.
'data class module
Public count As Integer
Public cost As Currency

Данные (значения cost и count) будут попадать в объекты класса group , и я хочу чтобы при обращении к свойству d объекта класса pp у меня производилось суммирование всех стоимостей и количества подчиненных групп.

пробовал так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
'pp class module


Public kod As Integer
Public groups As Collection
Property Get d() As data
Dim temp As group
    For Each temp In Me.groups
        d.cost = d.cost + temp.d.cost
        d.count = d.count + temp.d.count
    Next temp
End Property

Private Sub Class_Initialize()
    Set Me.groups = New Collection
    Set Me.d = New data
End Sub

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
'group class module

Public kod As Integer
Public d As data

Private Sub Class_Initialize()
    Set d = New data
End Sub

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
'data class module

Public count As Integer
Public cost As Currency

Private Sub Class_Initialize()
    Me.count =  0 
    Me.cost =  0 
End Sub

и при создании объекта класса pp вылетает ошибка
Object variable not set (Error 91) на этапе вычисления свойства d

как реализовать задуманное?
...
Рейтинг: 0 / 0
Подчиненные классы VBA и вычисление свойств
    #36408064
TERn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробовал переделать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
'pp class module

Public kod As Integer
Public groups As Collection

Public Function d() As data
Dim temp As group
    Set d = New data
    For Each temp In Me.groups
        d.cost = d.cost + temp.d.cost
        d.count = d.count + temp.d.count
    Next temp
End Function

Private Sub Class_Initialize()
    Set Me.groups = New Collection
End Sub

работает, но мне интересно, что там будет с памятью, когда будет много вызовов этой функции?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подчиненные классы VBA и вычисление свойств
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]