【问题标题】:How do I refer to a combobox object using a variable?如何使用变量引用组合框对象?
【发布时间】:2015-09-17 19:05:05
【问题描述】:

此代码位于我的访问表单的事件代码中。 我正在尝试用变量替换下面代码第 3 行中 ComboBox 的名称。该代码在我使用 ComboBox 的名称时有效,但在我尝试使用变量时给出“未找到方法或数据成员”错误。我有几个 ComboBoxes,并且喜欢在所有 ComboBoxes 的循环中运行下面的第三行。

我认为问题归结为如何将变量“ComboBoxName”设置为等于对象 cboComboBox 而不是当前 cboComboBox 中的值(当前为“”)。这是不工作的代码:

Dim ComboBoxName As ComboBox
Set ComboBoxName = Me.cboComboBox
Me.ComboBoxName.RowSource = ""

【问题讨论】:

    标签: ms-access combobox vba


    【解决方案1】:

    如何设置变量“ComboBoxName”等于对象 cboComboBox

    可能是:

    Dim ComboBoxName As ComboBox
    Set ComboBoxName = Me!cboComboBox
    ComboBoxName.RowSource = ""
    

    或:

    Dim ComboBoxName As String
    ComboBoxName = Me!cboComboBox.Name
    Me(ComboBoxName).RowSource = ""
    

    【讨论】:

    • 我有几个组合框并用相同的算法填充它们,因此使用了一个函数 - Function helper(comboname)。我可以将组合框名称设为“动态”,在函数 `Sheets(3).comboname.List = "value1" 中调用它吗?
    • 是的,类似于我回答中的最后一行代码。
    • 我想知道是否需要activex 组合框,因为我需要名称以供参考。使用普通的组合框,没有命名参考是可能的吗?
    • @Timo:对不起,不要关注。您可以通过名称引用任何控件。
    猜你喜欢
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 2017-10-31
    相关资源
    最近更新 更多