【发布时间】:2018-04-12 06:39:09
【问题描述】:
在 MS Access 中,我使用 VBA 为多个 TextBoxes 设置事件处理函数:
txtMyTextBox.OnKeyUp = "=myEventHandlerFunction()"
到目前为止,这工作正常。但是我想传递已按下的键的 KeyCode。当我为 TextBox 手动创建“常规”KeyUp 事件时,它会自动提供 KeyCode As Integer 和 Shift As Integer。我期待这些也可以与 OnKeyUp 属性一起使用,如下所示:
txtMyTextBox.OnKeyUp = "=myEventHandlerFunction(KeyCode)"
当然,我更新了 myEventHandlerFunction 以便它需要这个参数。但是,当触发事件时,Access 给我一个错误,说表达式导致错误,因为该对象不包含自动化对象 KeyCode。
是否有可能如何使用 OnKeyUp 属性为 myEventHandlerFunction 提供 KeyCode?我是否使用了错误的格式,甚至是错误的参数名称(我使用的是德语的 Access,如果这很重要的话)?
MSDN documentation on the TextBox.OnKeyUp Property (Access) 没有提供任何相关信息。
我知道我可以为每个 TextBox 手动设置 KeyUp 事件,并使用 KeyCode 参数从那里调用 myEventHandlerFunction。这不是我想要的,因为我想以编程方式设置事件处理,据我了解,这需要使用 OnKeyUp 属性。
【问题讨论】:
标签: ms-access events vba parameter-passing