Добавление элементов управления в форму динамически - PullRequest
0 голосов
/ 06 февраля 2020

Я написал подпрограмму, которая добавляет элементы управления (метка, текстовое поле, кнопки управления) в форму. Когда я вызываю эту подпрограмму из модуля и передаю форму в качестве параметра (Forms("MyForm")), моя подпрограмма работает нормально. Я пытаюсь вызвать подпрограмму с помощью кнопки на самой форме и передать Me, но она выдает ошибку, когда подпрограмма ссылается на форму с «Ошибка времени выполнения 5»: неверный вызов процедуры или аргумент »

Проблема: я использую Application.CreateControl для создания элементов управления. Я понимаю, что форма должна быть в представлении дизайна, чтобы это работало. Но когда я пытаюсь присвоить элемент управления переменной, он не может прочитать никаких элементов управления, когда форма находится в представлении конструктора. Но опять же, все работает нормально, когда я вызываю сабвуфер из модуля.

Я бы очень хотел иметь возможность использовать это из самой формы, так как это сделало бы мою жизнь намного проще. Я даже пытался передать нужные мне параметры через подпрограмму «pass through» в неформальном модуле, но безрезультатно. Вот мой код, который выдает ошибку:

DoCmd.OpenForm frm.Name, acDesign '.CreateControl errors out if I don't have this, Set ctlLabel errors out if I do
Set ctlLabel = Application.CreateControl(frm.Name, acLabel, acDetail, , , lLeftLabel, lTop, ctl.Width, ctl.Height)

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...