Access爱好者--
所属分类: 经验分享 作者: 李寻欢 更新日期:2003-10-14 8:34:03 阅读次数:219

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


我的一个仓库管理程序,做了一个主控窗体,并利用主控窗体的timer事件做了一个窗体时钟,一秒刷新一次,看起来效果还不错,但恶梦也开始降临,交给仓库使用后,操作员老是反应所有窗体的删除按钮都不起作用。

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

结果依然不行。

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

百思不得其解!

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

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

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

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


--------------------------------------------------------------------------------
相关文章

没有相关文章


系统优化
控件使用
数据库设计
数据库连接
系统安全
OLE自动化
常见问题
实用代码
属性详解
网络相关
实用API
经验分享
精选教程
字符处理
ADP相关



文章搜索



制作维护:李寻欢     Mail:[email protected]

关于本站 -- 网站服务 -- 版权条款 -- 联系方法 -- 网站帮助
Access爱好者版权所有 Copyright 2003-2005 All Rights Reserved 未经许可不得盗链