如何根据 VBA 中的另一个组合框值更改组合框的可见性

How to change visibility of a combo box based on another combo box value in VBA

我目前正在使用 Microsoft Access。

我正在尝试根据另一个组合框值填充多个组合框。例如,第一个组合框称为 cmb_BoxValue,其中编号为 1-20,其余组合框的名称为 cmb_Box1,直到 cmb_Box20。一旦用户 selected 了所需组合框的数量,使用 AfterUpdate sub 它将允许 visibility = True 基于该值。如果 selected 值为 3,则 cmb_Box1、cmb_Box2 和 cmb_Box3 Visible = True。我设法使用如下 select 案例做到了这一点:

Private Sub cmb_BoxValue_AfterUpdate()
 Dim Size1 As Integer
 Size1 = Me.cmb_BoxValue.Value

 Select Case Me.cmb_BoxValue
  Case 1
  Me.cmb_boxBox1 = True
  etc...

但我觉得这是非常重复的,不是最理想的解决方案。我觉得 for 循环是理想的解决方案,但我不确定如何处理它。谢谢

由于组合框具有相似的名称和数字后缀,可以在递增索引循环中动态构建组合框名称,测试索引是否 <= cmb_BoxValue 输入以设置可见 属性:

For x = 1 to 20
    Me.Controls("cmb_Box" & x).Visible = x <= Me.cmb_BoxValue
Next