使用 MS Access 365。按键事件更新绑定的文本字段。代码仅在执行停止时更新字段

问题描述 投票:0回答:0

此 Keypress 事件的目的是在搜索值表后更新名为 txtSentto 的绑定字段。当我使用停止命令或调试标记停止执行时,代码有效。允许代码不间断运行,该字段不会更新为新值。本质上是在用户键入时尝试填写该字段。该表单还为用户提供了一个列表框,他们可以在其中选择值。用户更喜欢将手指放在键盘上而不必滚动列表。

当用户输入有效的字母字符时,事件开始。预期结果是,输入“B”,不带引号,更新字段为“Book Orders”。然后在“Book Orders, Donations,”等输入“D”结果。代码很简单。请原谅缺乏好的命名标准。

HldKey 是用户输入的字符。如果用户键入其他字符以改善结果,该字段将包含所有键入的字符。

txtSentto 是绑定的文本字段,在表单上,代码正在更新。

目前, 当用户输入 b 或 B 时,该字段不会更新,因此用户看到的是他们输入的内容,而不是预期的结果。当

'Stop
命令行取消注释或在第 5 行使用调试标记停止执行时,该字段将更新为预期结果。

debug.print 打印出预期的结果。 txtSentto 具有预期的结果值,但表单未更新。

非常难过。请帮助!!!!

X = 1
RecCountstl = 21   '  For testing, comment out for production.
Do While X < RecCountstl + 1       
    If HldKey = Left(SentToLoc(X), Len(HldKey)) Then    'Loaded table during load event. 
        txtSentto = SentToLoc(X) + ", "
        Enclosures = txtSentto
        Debug.Print txtSentto
        HldKey = ""
        Exit Do
    End If
    X = X + 1
Loop
'Stop
End Sub

尝试了很多方法,例如。我将字段属性设置与其他工作字段进行了比较。第 6 行,附件,是我用于测试的表单上的另一个绑定文本字段。 enclosures 字段在所有情况下都会正确更新,而 txtSentto 字段会失败。

我使用了 step into 过程来跟踪代码执行,在不同的点使用了 Set Next 语句。代码似乎运行良好,表单上的 txtSentto 字段未显示预期结果。

是否有可能按键事件无法像我一样更新表单字段?我正在用表中的值替换输入的字符。也许按键正在阻止此操作。也许停止执行可能会覆盖按键事件中内置的块。

ms-access keypress auto-populating
© www.soinside.com 2019 - 2024. All rights reserved.