Report.KeyPress 事件 (Access)

当用户按下并释放一个键或组合键报表具有焦点时,对应于 ANSI 代码时,将发生 KeyPress 事件。 如果使用 SendKeys 操作的宏或 Visual Basic 中的 SendKeys 语句的 ANSI 键击发送到报告,也会发生此事件。

语法

表达式KeyPress (KeyAscii)

表达 一个代表 Report 对象的变量。

参数

名称 必需/可选 数据类型 说明
KeyAscii 必需 Integer 返回数值型 ANSI 键代码。 通过引用传递 KeyAscii 参数;更改该参数可向对象发送不同的字符。 将 KeyAscii 参数设为 0 可取消键击,以便对象不会认为已按下键。

备注

若要在该事件发生时运行宏或事件过程,请将 OnKeyPress 属性设置为宏的名称或 [事件过程]。

报表也能接收所有的键盘事件,甚至包括那些对控件发生,如果将报表的 KeyPreview 属性设置为是。 通过设置此属性值,所有键盘事件首先都发生的报告,然后控件具有焦点。 无论哪个控件获得焦点,都可以在报表中对按下的特定键作出响应。 例如,你可能希望组合键 Ctrl+X 始终对报表执行相同的操作。

如果按住 ANSI 键, 则 KeyDownKeyPress 事件会反复 (KeyDownKeyPressKeyDownKeyPress 等) ,直到释放该键,然后发生 KeyUp 事件。

KeyPress 事件可以涉及任何可打印的键盘字符、Ctrl 键与标准字母表中的字符或特殊字符的组合,以及 Enter 或 Backspace 键。 使用 KeyDownKeyUp 事件过程来处理 KeyPress 事件无法识别的任何击键,例如功能键、导航键以及键盘修饰符 (Alt、Shift 或 Ctrl 键) 的任意组合。 与 KeyDown 事件和 KeyUp 事件, KeyPress 事件并不表明物理状态的键盘;相反,它表示对应于所按下的键或键组合的 ANSI 字符。

KeyPress 将解释的大写和小写的每个字符作为不同的键代码,因此,作为两个字符。

注意

Backspace 键是 ANSI 字符集的一部分,但 Delete 键不是。 如果使用 Backspace 键删除控件中的字符,则会导致 KeyPress 事件;如果使用 Delete 键,则不要。

KeyDownKeyPress 事件发生在按或发送一个 ANSI 键。 任何事件之后, KeyUp 事件发生按下或发送键引起控件。 如果键击导致焦点从一个控件移动到另一个控件,将发生 KeyDown 事件有关的第一个控件的 按键KeyUp 事件发生的第二个控件。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。