| 切换面板动态时钟的副作用 |
|
| 作者:李寻欢『… 文章来源:access爱好者 点击数: 本日:{$DayHits} 更新时间:2005-8-16 11:22:00 |
|
我的一个仓库管理程序,做了一个主控窗体,并利用主控窗体的timer事件做了一个窗体时钟,一秒刷新一次,看起来效果还不错,但恶梦也开始降临,交给仓库使用后,操作员老是反应所有窗体的删除按钮都不起作用。
我调试时发现,到了这句就出错:“无法选择记录” DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 这句等同于选定记录。我却不明白为何不能选择记录,就换了另一条命令来删除记录: docmd.RunCommand acCmdDeleteRecord
结果依然不行。
后来又发现只要开着主控窗体,就无法执行删除命令,我就把主控窗体中Load、Open里的语句都屏蔽掉,还是不行。
百思不得其解!
一次在主控窗体打开的状态下修改程序时,输入“.”号时,后面的对象列表显示了一下马上又消失了,因为窗体时钟在运行,每秒都会刷新一次主控窗体,刷新时就把焦点移到主控窗体上了,所以对象列表就消失了,这时我恍然大悟:罪魁祸首就是timer事件!
因为执行删除动作时,程序会先选定当前记录,再删除选定的记录,如果你的窗体有记录选定器就会看到记录选定器变黑了,如果这时刚好主控窗体刷新时间,就会把焦点移到主控窗体上去,刚才选定的记录又变成没选定或是无法选定,就无法执行删除操作了。
最后,我把主控窗体的时钟效果去掉,删除按钮又可以正常工作了。
另:如果窗体的编辑、删除属性为“否”,也会导致删除按钮不起作用。 |
| 文章录入:tm 责任编辑:tm |
|
上一篇文章: 如何自定义三个键的组合键
下一篇文章: 本站新书《Access 数据库系统开发从基础到实践》现已出版 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |