首页 > 解决方案 > Ms Access VBA if 条件

问题描述

我在 ms 访问表单上有 4 个文本框,我正在运行以下代码,但它无法正常工作:

If Text1.value = 1 then
    Me.Text2.Enabled = True
    Me.Text3.Enabled = True
Else
    Me.Text2.Enabled = False
    Me.Text3.Enabled = False
End if
If Text1.value = 2 then
    Me.text2.Enabled = True
    Me.Text4.Enabled = True
Else
    Me.Text2.Enabled = False
    Me.Text4.Enabled = False
End if

标签: ms-accessvba

解决方案


如果您尝试为连续或数据表表单上的每条记录独立设置启用属性,则 VBA 将不起作用。必须使用条件格式。

如果这是一个单一视图表单,VBA 在表单中的 Current 和 Text1 AfterUpdate 事件。考虑更简单的代码:

Me.Text2.Enabled = (Me.Text1 = 1 Or Me.Text1 = 2)
Me.Text3.Enabled = Me.Text1 = 1
Me.Text4.Enabled = Me.Text1 = 2

但是,仍然可以使用条件格式并完全避免使用 VBA。


推荐阅读