Excel конструктор Object VBA и деструктор

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

SELECT cr.register_id, cr.number, COUNT(*) AS cnt
FROM tbl_cross AS cr
JOIN tbl_register as r ON cr.register_id = r.id
WHERE r.collection_id = 56
GROUP BY register_id, number
HAVING cnt > 1

Вы можете использовать HAVING для фильтрации недубликатов, подзапрос вам не нужен.

26
задан ashleedawg 10 July 2018 в 17:12
поделиться

4 ответа

VBA поддерживает Модули Класса. У них есть событие Class_Initialize, которое является конструктором и Class_Terminate, который является деструктором. Можно определить свойства и методы. Я полагаю, что VBA использует подсчет ссылок в течение объектного жизненного цикла. Который является, почему Вы видите много Набора безотносительно = Ничто в том типе кода. В Вашем случае в качестве примера я думаю, что он не пропустит памяти. Но необходимо остерегаться циклических ссылок.

24
ответ дан Will Rickards 28 November 2019 в 06:45
поделиться

При создании модуля класса в VBA, для конструктора, можно использовать:

Private Sub class_initialize()
....
End Sub

нет никаких деструкторов, так как VBA собран "мусор". Просто удостоверьтесь, что очистили любые циклические ссылки, и необходимо избежать любых возможных утечек памяти.

17
ответ дан Colin 28 November 2019 в 06:45
поделиться

Это было некоторое время, так как я использовал их, но я не думаю, что можно передать параметры в конструкторов. Я думаю, что это было одной из проблем, с которыми я столкнулся, но я сталкивался с таким количеством проблем того, как работали thse классы и как я ожидал, что они будут работать, что я могу быть misremembering.

9
ответ дан greg 28 November 2019 в 06:45
поделиться

Существует Class_Terminate, который почти такой же, как деструктор.

8
ответ дан 28 November 2019 в 06:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: