【发布时间】:2015-07-11 23:00:54
【问题描述】:
我有一个大型的 MS Access 2013 应用程序,在添加一些新逻辑的同时,我遇到了一个谷歌搜索无法让我克服的障碍。
当我运行以下代码时,我得到一个
运行时错误 3021:没有当前记录。
执行最后一条语句时的错误信息:
Docmd.Close acForm,"Picking"
DoCmd.DeleteObject acForm, "Picking"
DoCmd.CopyObject, "Picking", acForm, "Picking On Tablet"
代码中列出的两种形式都存在并且是正确的。第一个表格(拣货)在第二个语句中被正确删除。 (该名称已从导航窗格中显示的表单对象列表中删除。)
我的猜测是,我需要在运行第三条语句之前以某种方式刷新对象列表,但不知道该怎么做。顺便说一句,我确实尝试了 DoCmd.RefreshRecord,因为运行时错误 3021 说“没有当前记录”,但当然这不起作用。
我在正确的轨道上吗?还有其他想法吗?我完全被难住了。
【问题讨论】:
-
更有可能的是,该消息与您调用该代码的表单中正在发生的事情有关。如果从即时窗口调用它会运行吗?
-
我同意 Gustav 的观点,我在 Internet 上的任何地方都找不到由
DoCmd.CopyObject引起的这个错误的单一参考,而且我在谷歌搜索中有一个黑带。
标签: ms-access