Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

关于delete键有趣的事

布鲁斯  发表于:2013-11-05 19:57:40  
复制

这样的,我运用一下代码成功实现了delete不能删除字段的功能。

在字段的【键按下】触发:

 If KeyCode = 46 Then
    KeyCode = 0
      Exit Sub
 End If

不能删除字段实现了,但是新的问题出现了:我不能删除列了,咋办?

于是不断的试,好几天,刚好今天还遇上了用户投诉不能删行的数据(哎,用户就是代码民工的上帝,只能加吧劲找吧)

在公司申请OT,不过实在太累了,吃完饭偷睡了一小会。

嗯,奇迹发生了。(怎么回事?哈哈)

当我醒来,我就对着想了好多天的例子胡乱按【delete】,随意设置属性。突然。。。

发现行可以删除了,而列却不能删除。 OH,My God!(终于来了)

这无疑是发现了新大陆。立马精神百倍,

经过分析发现:一个表里面的字段都设置成禁用【delete】又要删除行数据是不行的,必须要第一个字段不启用禁用的功能。(这里强调一下,必须是第一个,第二个都不行)

                    只有在第一个字段(补充一下:隐藏的字段不算第一字段)是没有禁用【delete】功能的情况下,才能实现:不删除列(也就是字段)可以删除行。

高兴,真的高兴。于是急忙上来和各位分享!



不过有个致命的问题摆在面前:第一个字段怎么办?

求有经验的各位分享一下并给出建议!!!!【delete】小实验


 

Top
smileyoufu 发表于:2013-11-06 22:13:09

以上观点,不敢苟同:

1.字段的删改,只能是开发者操作的,用户是不应当对字段拥有删改权限的。终端用户能删改的只能是数据,而不能是数据库对象;

2.使用键盘Delete操作数据,貌似不够人性化(对最终用户而言功能太隐晦,不容易知道删除方法)。一者操作不变,二者只能用于绑定窗体,对非绑定窗体是不适用的。

3.作为开发者,应当多为用户考虑,使操作简单方便,不用看说明书即可明白操作。



布鲁斯 发表于:2013-11-07 19:07:28
,谢谢提建议,刚刚搞开发,不懂的地方还很多,希望多多指出不是

123木头人 发表于:2013-11-07 19:33:55

这不难理解呀,在列表状态的窗体中选行的时候获得焦点的就是第一列,获得焦点后这一列相关的事件就开始运行了,键按下的事件也是获得焦点后触发的。

再就是你说的删除列,其实并不是真实的删除列,应该用删除窗体控件来形容更合适。

其实要解决你的问题并不难,应该说很容易,你只要把MDB编译成MDE就解决了,因为MDE状态下是不允许删除窗体控件的。



总记录:3篇  页次:1/1 9 1 :