如何根据 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
我目前正在使用 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