【发布时间】:2014-04-03 11:14:36
【问题描述】:
我想知道如何将所有属性从一个组件复制到另一个相同类型的组件。我解释得更好:
我在 Access 2010 中有一个 UI,在 Form_Load() 中我设置了我的表单的所有组合框的属性,如下所示:
For Each cCont In Me.Controls
If TypeName(cCont) = "ComboBox" Then
cCont.RowSourceType = "Value List"
End If
Next cCont
然后我有不同的组合框,我可以在其中添加他们的信息:
cbUiUnit.AddItem "°C"
cbUiUnit.AddItem "°F"
cbTxUnit.AddItem "°C"
cbTxUnit.AddItem "°F"
cbUiUnit.DefaultValue = "cbUiUnit.ItemData(0)"
cbTxUnit.DefaultValue = "cbTxUnit.ItemData(0)"
我想更自动化地执行此操作,因为对单位的每次更改我都需要执行两次。我可以像以前一样做另一个For Each cCont In Me.Controls,但问题是我拥有的不仅仅是这两个组合框;都有不同的值。
我在设置cbUiUnit的所有数据后尝试做cbTxUnit = cbUiUnit,但它只将cbUiUnit.Value复制到cbTxUnit。所以cbTxUnit中不存在所有添加的项目。
谢谢
【问题讨论】:
-
有些属性是“只读”的,所以不能复制“ALL”。需要更改多少个组合框?
-
如果我可以将 DefaultValue 和 Additional Items 从一个组合框复制到另一个组合框,我已经很高兴了。它只有 2 个组合框
cbUiUnit和cbTxUnit但主要问题是我需要经常更改这些单位,这取决于另一个组合框的选择(重量、速度、温度、距离......)。
标签: vba ms-access combobox ms-access-2010