【问题标题】:"Return without GoSub" when using subforms in Access在 Access 中使用子表单时“不使用 GoSub 就返回”
【发布时间】:2012-07-13 03:25:12
【问题描述】:

为什么我会得到一个

“不使用 GoSub 就返回”

在 Access 2007 中使用子表单时出错?

【问题讨论】:

    标签: ms-access ms-access-2007 vba


    【解决方案1】:

    当子窗体中存在Form_Load() 事件而不是主窗体时,可能会发生这种情况。尝试在主窗体中添加一个empty Form_Load() 事件。

    【讨论】:

    • 在表单和子表单中都有表单加载事件没有问题,有引用主表单的子表单加载事件存在问题,因为子表单在主表单之前加载。
    • 天才,我删除了 Form_Load() 事件,它就像一个魅力:)
    • 添加一个空的 Form_Load() 为我解决了这个问题 - 多么奇怪的问题
    • 确实有哈哈 - 在我发布此消息大约一个小时后,它就变得明显了。长话短说,这涉及到我对 INNER/LEFT/RIGHT 连接缺乏了解,但我能够修复
    • 哇。这也为我解决了这个问题......没有任何充分的理由。我没有为主表单或子表单定义 Load(),但定义两者使问题消失。
    【解决方案2】:

    此错误最可能的原因是项目已损坏。你应该反编译,说明在这里:Debug a bad DLL calling convention error

    首先,确保您已关闭名称自动更正:http://allenbrowne.com/bug-03.html,并确保您没有遗漏任何引用。

    【讨论】:

      【解决方案3】:

      我在 http://www.fmsinc.com/microsoftaccess/performance/decompile.asp 找到了针对同一问题的有用解决方案(就我而言)。它对我来说是一种魅力。 高温高压 菲尔

      【讨论】:

      • 如果可能,最好附上答案的描述,以防有一天链接失效...
      • 这是从上面的链接复制的:要反编译您的数据库,请按照以下步骤从 Windows 的“开始”、“运行”命令行键入:msaccess.exe /decompile 其中 msaccess.exe 包含完整路径。例如,对于 Access 2016:C:\Program Files\Microsoft Office\Office16\MSACCESS.EXE /decompile 从 Access 打开要反编译的数据库(具有 Access 2003 或更高版本的受信任权限)打开任何模块。通过调试,编译,然后文件,保存来编译它。回到数据库并压缩它。应减少数据库大小,并消除与 VBA 代码相关的错误。
      【解决方案4】:

      执行 VBA 代码的反编译并重新编译,然后压缩我的数据库为我解决了这个问题。

      【讨论】:

      • 你能提供更多细节吗?
      • 另外,这与上面 Fionnuala 的回答有何不同?
      【解决方案5】:

      我有类似的东西(不是专门在 VBA 中,而是使用表单来更新子表单)。我刚刚在屏幕更新对象的末尾添加了一个“StopAllMacros”步骤,它似乎可以工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-11
        • 1970-01-01
        • 2022-01-01
        • 1970-01-01
        • 2021-06-23
        • 2014-05-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多