【问题标题】:Run vba code from within 2010 Data Macro从 2010 数据宏中运行 vba 代码
【发布时间】:2012-09-10 13:20:42
【问题描述】:

我有一个创建文本文件的函数,需要从数据宏运行它。因此,甚至可以在桌子上使用它。 我该怎么做?

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    根据我们的聊天记录,您不会。数据宏甚至在 MS Access 之外运行,如果它们使用 MS Access 中的代码,则不会发生这种情况。它们与数据库引擎相关联,而数据库引擎对 Access 前端一无所知。

    您可以从数据宏 AFAIK 运行查询,并且可以创建查询以写入文件*,但您不能运行 VBA。

    * 我对此进行了更多研究,发现:“数据宏中不允许包含链接表、操作查询和数据库引用的查询。”

    【讨论】:

    • 嗯,我一直在尝试研究其他方法,但仍然感到困惑哈哈。那么如何从数据宏中运行代码呢?
    • 哦对了。回到绘图板。非常感谢您的帮助。
    • 查看我的回复 - 您不必返回任何绘图板 - 您可以从这些宏中调用 VBA 代码 - 因此这当然会假设您正在运行并为此运行 Access .
    • 从上一篇文章看来,相关的Access文件似乎被另一个应用程序更新了,所以Access没有运行,因此搜索的是表触发器而不是编码触发器。
    【解决方案2】:

    您可以这样做,但不建议这样做。请记住,表触发器和存储过程代码确实独立于 VBA 运行,事实上,即使您没有安装 Access,它也会运行。

    但是,假设您将始终使用 Access 来编辑数据(一个合理的假设),那么您实际上可以让表宏调用 VBA 代码。有几种方法可以做到这一点,但最常见和最有用的是将 SetLocalVar 设置为 VBA 函数。这还有一个额外的好处,就是能够将一些值传递给大多数情况下可能需要的函数。

    因此,请记住,您可以调用 VBA 代码,但随后您将创建从表到 VBA 的依赖关系。

    所以只需对一些虚拟变量使用 SetLocalVar,并将 VBA 函数放在表达式中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多