MS Access-基于组合框值禁用标记的控件

时间:2019-01-20 11:24:55

标签: ms-access

我想根据我在组合框中输入的值来启用/禁用所有标记为“隐藏我”的字段。

如果comboxox是yes,则应启用字段,如果没有字段则应禁用。

这里有一个working example可以使用,这是我的代码,目前无法正常工作:

Private Sub myAction_AfterUpdate()

Dim frm As Form
Dim ctl As Control

Set frm = Forms!frmMyForm

    For Each ctl In frm.Controls

        If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
            If ctl.Tag = "hideMe" Then
                If Me.myAction = yes Then
                    ctl.Enabled = True
                End If
            Else
                ctl.Enabled = False
            End If
        End If
    Next
End Sub

2 个答案:

答案 0 :(得分:1)

Control标签与hideMe标签一起包含不需要的字符串(请参见下图)。
 下图在即时窗口中显示了Debug.Print ctl.Tag的输出,以供快速参考。

将控制标签设置为hideMe并运行此代码。

Option Compare Database
Private Sub myAction_AfterUpdate()

Dim frm As Form
Dim ctl As Control

Set frm = Forms!frmMyForm

    For Each ctl In frm.Controls

        If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then


            If ctl.Tag = "hideMe" Then
                If Me.myAction = "yes" Then
                    ctl.Enabled = True
                 Else
                     ctl.Enabled = False
                 End If
            End If
        End If
    Next
End Sub

错误地将代码与hideMe一起复制 enter image description here

答案 1 :(得分:0)

您错过了空格并比较了字符串

If ctl.Tag = "hide Me" Then
    If Me!myAction.Value = "Yes" Then