Макрос 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, поэтому, возможно, я упустил что-то очевидное в этой части.