我想根据我在组合框中输入的值来启用/禁用所有标记为“隐藏我”的字段。
如果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
答案 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
答案 1 :(得分:0)
您错过了空格并比较了字符串:
If ctl.Tag = "hide Me" Then
If Me!myAction.Value = "Yes" Then