VBA KeyDown(键 Enter)上的字符串为 Null

VBA on KeyDown (key Enter) string is Null

使用 MS Access 2010(表单) 我有一个简单的文本框,当用户按下 "Enter" 键时,它将过滤(通过 SQL)数据库。

问题
问题是,在我输入数据并按下 "Enter" 键后 - 代码将文本框视为 NULL(而不是文本框中的实际值)。

但是当我再次按下 "Enter" 键时 - 然后一切正常。


我需要确保代码总是在第一次尝试时执行

我的文本框名称是:search_txt

VBA:

Private Sub search_txt_KeyDown(KeyCode As Integer, Shift As Integer)
   If (KeyCode = vbKeyReturn) Then
      filterResults (Me.search_txt.Value)
      Me.search_txt.SetFocus
   End If
End Sub

Textbox.Value 在通过离开控件更新文本框之前不会设置,例如按 Enter 或 Tab。

要在用户键入时获取内容,请使用 Textbox.Text 属性。

Textbox.Text 仅在文本框具有焦点时有效,但在您的情况下始终如此。