Сначала я удаляю видимость элемента управления, выполняя это:
For Each ctl In Me.MySubform.Controls
ctl.Visible = False
Next ctl
и позже я возвращаюсь и связываю те элементы управления, которые собираюсь использовать для текущего списка полей, используя массив заголовка иимя источника элемента управления.
For i = 0 To UBound(MyArray) Step 2
Me.MySubform.Controls(i).ControlSource = MyArray(i)
Me.MySubform.Controls(i + 1).Caption = MyArray(i + 1)
Me.MySubform.Controls(i).Visible = True
Me.MySubform.Controls(i + 1).Visible = True
Next i
Проблема, с которой я сталкиваюсь, заключается в том, что если пользователь щелкнул по одному из этих полей, выделив его, я, похоже, установил для свойства элемента управления visible значение false или заново связал поледругое поле во время следующего события обновления.
Я думаю, что, сняв фокус элементов управления, я смог бы достичь этого;однако у меня есть две проблемы.
- Возможно ли это в VBA (MS Access 2003)?Если да, то как?
- Есть ли лучший, более идеальный способ сделать это в этой среде?Если да, какие варианты доступны и какие соображения используются при выборе решения?
Спасибо,