【问题标题】:Checkbox controls subform visibility - how to keep it visible when form is reopened?复选框控制子表单可见性 - 如何在重新打开表单时保持可见性?
【发布时间】:2013-12-23 05:26:50
【问题描述】:

复选框控制子表单是否可见。如果复选框为“真”,则子表单可见。问题是,当我关闭并重新打开表单时,即使复选框仍然为真,子表单也不再可见。在子表单再次可见之前,我必须取消选中并重新选中复选框。这是我正在使用的:

Private Sub RefBoardCkbx_Click()
If RefBoardCkbx.Value = True Then
[Admin Sep - Awaiting Prelim SubBox].Visible = True
Else
[Admin Sep - Awaiting Prelim SubBox].Visible = False
End If
End Sub

显然,必须有某种方法让表单在每次打开时自动重新运行代码——我不知道如何让它做到这一点!

【问题讨论】:

    标签: ms-access checkbox ms-access-2007 vba subform


    【解决方案1】:

    使用主窗体的 On Load 事件使子窗体在窗体打开时可见。

    Me.[Admin Sep - Awaiting Prelim SubBox].Visible = True
    

    您可能还想同时勾选复选框。

    Me.RefBoardCkbx.Value = True
    

    另外,考虑一下这个版本的点击事件过程是否对你有意义......

    Private Sub RefBoardCkbx_Click()
        Me.[Admin Sep - Awaiting Prelim SubBox].Visible = Me.RefBoardCkbx.Value
    End Sub
    

    【讨论】:

    • 谢谢。将子框格式更改为“可见”即可解决问题。
    • 说得太早了!两种解决方案都解决了已识别的问题,但解决方案会产生相反的问题。现在,无论控制复选框是否为“真”,只要表单打开,子表单就可见。为了使子窗体不可见,用户要“选中”该框,然后“取消选中”它。我需要一些主窗体的机制来验证控制复选框是否在主窗体加载时为“真”。如果复选框为“真”,则子表单立即可见;如果为“false”,则子表单立即不可见。
    • 解决了。谢谢。除了“当前”之外,我什么都试过了!
    猜你喜欢
    • 2020-03-31
    • 2016-03-22
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 2014-03-06
    相关资源
    最近更新 更多