Ms access 如何将文本框设置为事件时启用

Ms access 如何将文本框设置为事件时启用,ms-access,vba,Ms Access,Vba,我在访问表单上有一个文本框,如果文本框为空,我希望启用该文本框进行编辑。我是VBA新手,不确定最好的方法是什么。使用双击事件对我来说很好,但我更喜欢在加载时进行 我尝试了以下代码,但似乎无法使其正常工作。任何帮助都将不胜感激 Private Sub EmpID_DblClick(Cancel As Integer) If EmpID.Text = "" Then Me.EmpID.Enabled = True End If End Sub 对于每个记录都应该发生的事情,最好使用当前事件

我在访问表单上有一个文本框,如果文本框为空,我希望启用该文本框进行编辑。我是VBA新手,不确定最好的方法是什么。使用双击事件对我来说很好,但我更喜欢在加载时进行

我尝试了以下代码,但似乎无法使其正常工作。任何帮助都将不胜感激

Private Sub EmpID_DblClick(Cancel As Integer)
If EmpID.Text = "" Then
    Me.EmpID.Enabled = True
End If
End Sub

对于每个记录都应该发生的事情,最好使用当前事件。不要对控件使用.Text属性。如果必须使用属性,请使用.Value。.Text属性仅在控件具有焦点时可用,并且通常仅在特殊情况下使用,例如更改事件

Private Sub Form_Current()
  If IsNull(EmpID) Then
    Me.EmpID.Enabled = True
  End If
End Sub
在正常设置中,控件不可能等于零长度字符串(“”)

你可以说:

Trim(EmpID & "") = ""

对于每个记录都应该发生的事情,最好使用当前事件。不要对控件使用.Text属性。如果必须使用属性,请使用.Value。.Text属性仅在控件具有焦点时可用,并且通常仅在特殊情况下使用,例如更改事件

Private Sub Form_Current()
  If IsNull(EmpID) Then
    Me.EmpID.Enabled = True
  End If
End Sub
在正常设置中,控件不可能等于零长度字符串(“”)

你可以说:

Trim(EmpID & "") = ""

您遇到了空值问题

Null
不同

试试这个

If EmpID.Text Is Null Then
    Me.EmpID.Enabled = True
End If

您遇到了空值问题

Null
不同

试试这个

If EmpID.Text Is Null Then
    Me.EmpID.Enabled = True
End If

这正是我想做的。非常感谢。这正是我想要做的。非常感谢。