【问题标题】:VBA on KeyDown (key Enter) string is NullKeyDown(键 Enter)字符串上的 VBA 为 Null
【发布时间】:2016-05-30 21:56:09
【问题描述】:

使用 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

【问题讨论】:

    标签: forms vba ms-access-2010 keydown


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢!这行得通。实际上,我最终通过将事件更改为“KeyUp”来修复它 - 但如果用户需要 KeyDown,这将非常有用
    猜你喜欢
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    相关资源
    最近更新 更多