Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-窗体/数据页

【Access文章】如何使用窗体级自定义快捷键

时 间:2014-07-27 08:08:30
作 者:缪炜   ID:24010  城市:江阴
摘 要:本文描述了如何在窗体中使用包括F1、F2之类的特殊按键在内的所有按键作为自定义快捷键,而不会和Access本身的快捷键冲突的方法。
正 文:

 

Access中有一个特殊宏AutoKeys,我们可以在这个宏里面定义全局快捷键,但用AutoKeys宏有一个不好的地方就是它是针对整个程序的,使用后整个程序中原来的系统快捷键就不能用了。我们如果只是想在某一个窗体或某些窗体中使用临时使用自定义的快捷键,可以使用窗体的键按下事件(Form_KeyDown)。比如我们要在窗体中实现按F1删除当前记录,就可以使用如下代码:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

    Select Case KeyCode

    Case vbKeyF1

        KeyCode = 0

        DoCmd.RunCommand acCmdDeleteRecord

    End If

End Sub 

这里的关键点有两个:一个是必须是窗体的KeyDown事件,而不是KeyUp事件或KeyPress事件,原因是KeyUp事件之前Access系统快捷键会被触发,从而产生冲突;而KeyPress事件中不能识别如F1之类的特殊功能键。第二点是相应的快捷键功能代码中必须加入一句KeyCode=0,这一句很重要!它的作用是屏蔽掉Access系统本身的快捷键功能,不然像上面的示例代码中,它会删除当前记录后,再打开帮助文档。

注意:必须将窗体的“键预览”属性(KeyPreview)设为“是”,窗体的按键事件才会生效。



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助