【问题标题】:hide/unhide many textboxes on a form based on combo value in ms-access (userform)根据 ms-access (userform) 中的组合值隐藏/取消隐藏表单上的许多文本框
【发布时间】:2020-07-13 14:02:57
【问题描述】:

我目前有太多的 if 语句;什么是编码隐藏和取消隐藏文本框的最佳解决方案,我想我有 8 个或更多组合这里是我尝试这个时的当前代码,它仅适用于最后一个 if 语句组合如下 A-D,以及之间的所有组合。 :

If Combo308.Value = "A" Then
    Combo305.Visible = True
    Option103.Visible = True
    Else
     Combo305.Visible = False
    Option103.Visible = False
    End If


 If Combo308.Value = "B" Then
    Combo306.Visible = True
    Option105.Visible = True
    Else
    Combo306.Visible = False
    Option105.Visible = False
    End If


 If Combo308.Value = "D" Then
    Combo309.Visible = True
    Option111.Visible = True
    Text310.Visible = True
    Option113.Visible = True
    Combo311.Visible = True
    Option115.Visible = True
    Text312.Visible = True
    Option117.Visible = True
     Text313.Visible = True
    Option119.Visible = True
    Combo314.Visible = True
    Option121.Visible = True
    Text315.Visible = True
    Option123.Visible = True
    Text316.Visible = True
    Option125.Visible = True
    Text317.Visible = True
    Option127.Visible = True
     Text318.Visible = True
    Option129.Visible = True
     Text319.Visible = True
    Option131.Visible = True
    Else
    Combo309.Visible = False
    Option111.Visible = False
    Text310.Visible = False
    Option113.Visible = False
    Combo311.Visible = False
    Option115.Visible = False
    Text312.Visible = False
    Option117.Visible = False
    Text313.Visible = False
    Option119.Visible = False
    Combo314.Visible = False
    Option121.Visible = False
    Text315.Visible = False
    Option123.Visible = False
    Text316.Visible = False
    Option125.Visible = False
    Text317.Visible = False
    Option127.Visible = False
     Text318.Visible = False
    Option129.Visible = False
    Text319.Visible = False
    Option131.Visible = False
    End If

If Combo308.Value = "A,B" Then
    Combo305.Visible = True
    Option103.Visible = True
    Combo306.Visible = True
    Option105.Visible = True
    Else
     Combo305.Visible = False
    Option103.Visible = False
    Combo306.Visible = False
    Option105.Visible = False
    End If

If Combo308.Value = "A,B,C" Then
    Combo305.Visible = True
    Option103.Visible = True
    Combo306.Visible = True
    Option105.Visible = True
    Combo307.Visible = True
    Option109.Visible = True
    Else
    Combo305.Visible = False
    Option103.Visible = False
     Combo306.Visible = False
    Option105.Visible = False
    Combo307.Visible = False
    Option109.Visible = False
    End If

【问题讨论】:

标签: vba ms-access


【解决方案1】:

我猜你需要先隐藏所有控件,然后取消隐藏选择:

Combo305.Visible = False
Option103.Visible = False
' etc. - all controls in question.

Select Case Combo308.Value
    Case "A" 
        Combo305.Visible = True
        Option103.Visible = True
    Case "B" 
        Combo306.Visible = True
        Option105.Visible = True
    Case "D" 
        ' etc.
        '
    Case "A,B,C" 
        Combo305.Visible = True
        Option103.Visible = True
        Combo306.Visible = True
        Option105.Visible = True
        Combo307.Visible = True
        Option109.Visible = True
End Select

然后重命名你所有的控件,使其具有有意义的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    相关资源
    最近更新 更多