为什么NewRecord财产对我说谎?

时间:2009-08-19 23:24:05

标签: ms-access

我完全失去了,一种形式改变了我的行为;它工作,然后没有明显的原因停止。我是从按钮开启的:

DoCmd.openForm "formName", , , "ID=" & Me.ID

调试跟踪显示此时正确设置了值。加载表单时,我需要使用OnCurrent事件设置一些显示项。

Private sub Form_Current()
    if Me.NewRecord Then

此时,它表示没有记录,调试信息表示记录集是BOF和EOF,就好像查询不匹配一样。但是如果我在那一刻运行保存的查询,它会显示正确的信息。此外,如果我停止执行,打开表单,然后再次点击按钮,它 正确加载数据。我很难过。

编辑 - 从备份导入表单并重新输入更改后,整个问题就消失了。我猜测腐败,但它是如何搞砸的,这是一个谜。

1 个答案:

答案 0 :(得分:1)

重命名问题表单,然后从备份导入表单修复它。如果您需要扫描自备份以来的更改,则重命名是明智的。

感谢Remou,我也忘记了/ decompile选项,这可能已经解决了。

当我回答这个问题时,我还应该补充:永远不要运行前端表单的两个副本,无论是在同一台计算机上还是在网络上的多台计算机上...分割数据,并确保每个前端进程都有它自己的前端副本。我认为这导致了形式腐败。