【问题标题】:Enable/Disable Record Specific Controls in Access 2013在 Access 2013 中启用/禁用记录特定控件
【发布时间】:2015-08-18 03:32:12
【问题描述】:

我正在尝试根据数据表表单中特定记录的另一个字段值启用/禁用某些复选框。

如果我使用 vba,似乎每条记录都被禁用/启用(使用以下代码),无论我将它放在哪个事件下。

If Me.x = "N/A" Then
    Me.y.Enabled = False
Else
    Me.y.Enabled = True
End If

此外,由于它是一个复选框控件,我不能像对文本框等那样使用条件格式......

任何帮助将不胜感激。

谢谢,

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    你不能。连续表单或数据表表单的详细信息部分中的所有控件共享一个 属性集。如果禁用某个控件,则会禁用它的所有实例。

    您可以在复选框的 OnDirty 事件中放置代码:

    Private Sub y_Dirty(Cancel As Integer)
        If Me.x = "N/A" Then
            Msgbox "Sorry pal!"
            Cancel = True
        End If
    End Sub
    

    当然,它并不那么直观。

    【讨论】:

    • 文本框的条件格式以某种方式可以..所以我想我可以利用该逻辑并以某种方式应用于复选框..但我试试这段代码。谢谢!
    • 是的,对于文本框,这适用于条件格式。但不是复选框。您可以尝试在复选框后面使用未绑定的文本框添加视觉反馈,x = "N/A" 的背景为红色,但它可能看起来很傻。
    • 未绑定文本框,该方法是否适用于数据表视图表单?
    • 哦,抱歉,我忘记了数据表视图。不,不是,我认为(我很少使用它)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多