1

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

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

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

2 回答 2

5

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

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

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

您可以通过以下方式涵盖所有基础:

Trim(EmpID & "") = ""
于 2012-05-30T15:30:37.853 回答
1

您遇到了 Null 问题

Null不一样""

试试这个

If EmpID.Text Is Null Then
    Me.EmpID.Enabled = True
End If
于 2012-05-30T15:35:47.163 回答