禁用具有空值的字段

时间:2014-02-20 12:02:21

标签: vba ms-access ms-access-2010

我的表单上有多个复选框,选中后会禁用某些字段。

但是,当要禁用的字段的值为Null或EmptyString时,在输入值之前,该字段不会禁用。输入值将在失去焦点后禁用该字段。

我正在使用VBA代码:..

Me.columnName.Enabled = False

是否可以禁用null或EmptyString的字段?

编辑:重构的示例代码

Private Sub Checkbox_Click()

If Checkbox.Value = True Then

    Me.field1 = ""
    Me.field2 = ""
    Me.field1.Enabled = False
    Me.field2.Enabled = False

End If

End Sub

1 个答案:

答案 0 :(得分:0)

Null与“”

不同
Me.field1 & "" = ""

或用

覆盖空字符串和空格填充字符串
Trim(Me.field1 & "") = ""

但是,除非您特别允许,否则Access中的字段不太可能是“”,所以:

If IsNull(Me.Field1) Then

或者

Me.field1.Enabled = Not IsNull(Me.Field1)
Me.field1.Enabled = IsNull(Me.Field1)
Me.field1.Enabled = Not Me.Checkbox