会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 编程心得绝招 > 经验泛谈 > 正文

切换面板动态时钟的副作用

时间:2005-08-16 11:22 来源:access爱好者 作者:李寻欢『… 阅读:
我的一个仓库管理程序,做了一个主控窗体,并利用主控窗体的timer事件做了一个窗体时钟,一秒刷新一次,看起来效果还不错,但恶梦也开始降临,交给仓库使用后,操作员老是反应所有窗体的删除按钮都不起作用。

我调试时发现,到了这句就出错:“无法选择记录”
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
这句等同于选定记录。我却不明白为何不能选择记录,就换了另一条命令来删除记录:
docmd.RunCommand acCmdDeleteRecord

结果依然不行。

后来又发现只要开着主控窗体,就无法执行删除命令,我就把主控窗体中Load、Open里的语句都屏蔽掉,还是不行。

百思不得其解!

一次在主控窗体打开的状态下修改程序时,输入“.”号时,后面的对象列表显示了一下马上又消失了,因为窗体时钟在运行,每秒都会刷新一次主控窗体,刷新时就把焦点移到主控窗体上了,所以对象列表就消失了,这时我恍然大悟:罪魁祸首就是timer事件!

因为执行删除动作时,程序会先选定当前记录,再删除选定的记录,如果你的窗体有记录选定器就会看到记录选定器变黑了,如果这时刚好主控窗体刷新时间,就会把焦点移到主控窗体上去,刚才选定的记录又变成没选定或是无法选定,就无法执行删除操作了。

最后,我把主控窗体的时钟效果去掉,删除按钮又可以正常工作了。

另:如果窗体的编辑、删除属性为“否”,也会导致删除按钮不起作用。

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: