如何设置文本框以在事件上启用

时间:2012-05-30 15:23:28

标签: ms-access vba

我在访问表单上有一个文本框,如果文本框为空,我想启用edditing。我是VBA的新手,并且不确定最好的方法。使用双击事件对我来说没问题,但我更愿意在加载时进行。

我已经尝试了以下代码,但似乎无法让它工作。任何帮助将不胜感激。

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

2 个答案:

答案 0 :(得分:5)

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

Private Sub Form_Current()
  If IsNull(EmpID) Then
    Me.EmpID.Enabled = True
  End If
End Sub

在正常设置中,控件不可能等于零长度字符串(“”)

您可以通过以下方式覆盖所有基地:

Trim(EmpID & "") = ""

答案 1 :(得分:1)

您遇到了Null问题

Null""

不同

试试这个

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