我已经写了一些sql查询,一些子程序并且有一些保存的导入。
现在我正在尝试使用Access中的宏设计来提供一个按顺序运行这些对象的运行按钮。
但是我没有看到任何运行sun程序的命令,我可以看到OpenVisualBasicModule和Runcode。
OpenVisualBaicModule只打开我的子程序,而Run Code只是要求一个函数。
我创建了一个包含所有子过程调用的函数。但是,这些都不起作用,而它们各自都有效。
任何建议做什么。
答案 0 :(得分:6)
确保您的VBA代码放在一个函数内(不是SUB,它不会起作用)。 创建您的函数,如:
Function DoSomething()
'Do your stuff
End Function
或者如果你想执行Sub,只需创建一个调用你的sub的函数,如:
Function DoSomething()
Call YourSub()
End Function
在宏设计中,添加' RunCode'动作(宏命令> RunCode)并调用你的函数:
DoSomething()
瞧,你已经完成了。
答案 1 :(得分:0)
由于您已经在使用代码,因此宏似乎没有必要。在Button的属性表中,找到OnClick行并在其中键入:
=YourFunctionName()
(这也必须是一个函数,而不是一个子程序;这是Access的特性)
在您的功能中,您可以使用DoCmd
来调用当前宏中使用的任何宏操作。抛出一个MsgBox作为函数的第一行,以检查它是否正在运行。
您可能不太熟悉代码而不是宏,但是您可以为它添加好的注释,逐步调试代码,使用合理的错误处理 - 比使用宏更容易