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对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)