Макрос VBA для чтения значений ячеек из связанных таблиц

У меня есть приложение Access, которое хранит параметры модели CAD и подключается через макросы VBA к CATIA для ввода значений этих параметров в реальную модель (CAA Automation)

Вот как выглядят упрощенные отношения: отношения с базой данных

Существуют разные формы кузова, детали и сборки. В форме сборки, когда в любимых таблицах одинаковое имя параметра, источник управления называется Body.A и Part.A, когда в качестве имени параметра используется другой источник управления (B1, D).

определение сделано для каждой длины

set lenghtX = parametersX.Item("CATIA parameter name") 
'type is lenght, so program CATIA and it's method doesn't matter

поэтому чтение и отправка значений

lenght1.value = B1
'left side lenght in CATIA
'ride side control source name in MS Access

или же

lenght2.value = D

РАБОТАЕТ

но читать по ссылке (по названию исходного элемента управления, как это было сделано в коде раньше)

lenght3.value = Body.A

или же

lenght4.value = Part.A

НЕ

Кто-нибудь сейчас, как получить значения из связанных таблиц?

1 ответ

Решение

Насколько я понимаю, Body.A а также Part.A являются названиями элементов управления.

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

Вы можете ссылаться на них явно через коллекцию элементов управления.

lenght3.value = Me.Controls("Body.A").Value

Я не знаком с CAA или CATIA, поэтому, возможно, я упустил что-то очевидное в этой части.

Другие вопросы по тегам