2

我已经编写了一些 sql 查询、一些子程序并保存了一些导入。

现在我正在尝试使用 Access 中的宏设计来提供一个运行按钮,它将按顺序运行这些对象。

但是我没有看到任何运行 sun 程序的命令,我可以看到 OpenVisualBasicModule 和 Runcode。

OpenVisualBaicModule 只打开我的子程序,而运行代码只要求一个函数。

我创建了一个包含所有子过程调用的函数。但是,当它们单独工作时,那是行不通的。

任何建议做什么。

4

2 回答 2

6

确保您的 VBA 代码放置在 Function 中(不是 SUB,这不起作用)。创建你的函数,如:

Function DoSomething()
  'Do your stuff
End Function

或者,如果您想执行 Sub,只需创建一个调用您的 sub 的函数,例如:

Function DoSomething()
   Call YourSub()
End Function

在宏设计中,添加“RunCode”操作(宏命令 > RunCode)并调用您的函数:

DoSomething()

瞧,你完成了。

于 2014-09-18T08:01:23.653 回答
0

由于您已经在使用代码,因此宏似乎没有必要。在按钮的属性表中,找到 OnClick 行并在其中键入:

=YourFunctionName()

(这也必须是一个函数,而不是一个子过程;这是 Access 的一个特性)

在您的函数中,您可以DoCmd用来调用您在当前宏中使用的任何宏操作。抛出一个 MsgBox 作为函数的第一行以检查它是否正在运行。

与宏相比,您可能对代码不太熟悉,但您将能够为其添加良好的注释、逐步调试和调试代码、使用合理的错误处理——这比使用宏要容易得多。

于 2013-07-01T22:36:35.667 回答