Access 20年来被人忽略的功能:RecordSelector记录选择器的事件
时 间:2012-08-11 05:16:48
作 者:dbaseIIIer ID:22003 城市:深圳
摘 要:实在...实在...实在太多...太多...太多...太多人问我这个问题了,所以我实在忍不住要发布这个文章!以后叫人自己来看!写一次,以后省我不少时间!
Access 里面的RecordSelector(记录选择器)选择记录时候的事件怎么捕获?
正 文:
Access 里面的RecordSelector(记录选择器)选择记录时候的事件怎么捕获?
每每都需要问开发的人,到底捕获来干什么?本来这个记录选择器就没什么用的,Access 从发布的2.0开始就有了,但是提供给用户的操作就只有是“删除记录”所用到!
也难怪的,这个 Record Selector 只能选择一个范围的记录,用 Shift 或 Control 键多选都不能,很多开发者都会另外做个 combobox 或者 listbox 让用户多选记录,一样可以加代码删除记录的,甚至可以作更多的处理。
虽然现在已经有 Access 2015了,但是我还是在用2007开发,2010都未用到,所以如果新版本已经有RecordSelector的更好的妙用,也请告诉我,我确实是从Access2.0开始用的老用户!
而且我开发的东西,都是给大多数我不认识的人去使用的,要别人放弃娇小的office95或office2003,很多人也不愿意;到这个年代,大部分人用office2007了,我才用2007开发,要用户升级为office2010也还有很多用户不满的,一安装就耗了几个G的硬盘空间!实在是太不应该了!
返回正题,不错,记录选择器确实很简陋,但是新建窗体默认都显示的东西,却是很直观,我们用Access的目的就是快速开发的,也不想为了“选择”功能又做一个窗体的,所以还是有它存在的意义!
Access的窗体(以我用到2007来说)一直都有记录选择器,但是弊端是
1、当用快捷键 Shift-Space时,曾经与Windows的中文输入法冲突(现在很多输入法可以自定义按键了);
2、只要鼠标点击窗体里面,多选的记录就会变回选择当前记录;
3、VBA内没有代码可以捕获 “选取”、“选取范围改变”等的事件;
4、VBA内也不能捕获“已选取”范围;
5、单选或多选的记录,只对“Del”按键,或者工具列上的“删除”按钮反应;
所以解决方案就是
1、从删除事件里捕获选取的记录ID;
2、捕获事件一定不可以在窗体里面的任何控件(不然只能操作一条记录);
3、窗体里 就只能以 keypress或key_down,key_up等的事件触发
4、鼠标就只能 在记录选取器的“右击”事件里 触发
过程就是:
1、在 Delete事件 获取被删除的记录,而在 BeforeDelConfirm取消任何的 删除;
2、为 "Form View Record" 右键菜单 加上处理器
3、在表单的 keyPress加上 快捷键
要说的就说完了,要看代码的自己下载来看吧!资深用户自己知道原理就可以自己弄了!
(实例里面设置了用 Ctrl-Q 来触发的,界面没写!不好意思!)
附 件:
演 示:
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access选项卡示例】Ac...(09.09)
- 【Access源码示例】按输入...(09.02)
- 【Access日期区间段查询】...(08.29)
- 【Access日期区间段查询】...(08.27)
- Access怎样才能实现日期时...(08.21)
- 【Access定时打开查询】A...(08.19)
- Access生成固定数量的记录...(08.13)
- Access怎样才能实现日期时...(08.12)
- Access利用导航窗体控件对...(08.03)
学习心得
最新文章
- Access表中的字段名、字段标题...(09.19)
- Access快速开发平台--更改“...(09.18)
- 【中秋及国庆优惠】Access培训...(09.15)
- Access如何将日期型的数值转换...(09.14)
- 英文输入法输入数据中存在单引号引起...(09.11)
- 【Access选项卡示例】Acce...(09.09)
- 让Access光标停留在指定的控件...(09.07)
- 关于Access查询条件里使用通配...(09.06)
- Access报表偷懒制作法--Ac...(09.05)
- Access快速开发平台--窗体数...(09.04)