此 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 字段未显示预期结果。
是否有可能按键事件无法像我一样更新表单字段?我正在用表中的值替换输入的字符。也许按键正在阻止此操作。也许停止执行可能会覆盖按键事件中内置的块。