如何执行VBA Access模块​​?

时间:2011-07-19 23:32:00

标签: ms-access access-vba

好的我正在使用Access 2003,我刚刚开始学习Access和VBA几天前 我在模块中编写了一些代码,当我按下调试工具栏上的播放按钮时,没有错误。
我如何在我的数据库上实际执行此代码,以便它可以执行某些操作 换句话说,我该如何使用该模块?

请帮助我,我正在努力奋斗,截止日期是星期四!

谢谢!

3 个答案:

答案 0 :(得分:10)

这取决于你想如何调用这段代码。

您是通过单击表单上的按钮来调用它吗?如果是,则单击表单上按钮的属性,转到“事件”选项卡,然后单击“单击”项,选择[事件过程]。这将打开该按钮的VBA代码窗口。然后,您将调用Module.Routine,然后在单击按钮时触发。

与此类似:

Private Sub Command1426_Click()
    mdl_ExportMorning.ExportMorning
End Sub

此按钮点击事件会调用Module mdl_ExportMorningPublic Sub ExportMorning

答案 1 :(得分:9)

如果您只想运行某个功能以进行测试,可以使用Access中的Immediate Window

按VBA编辑器中的Ctrl + G将其打开。

然后你可以像这样运行你的功能:

  • ?YourFunction("parameter")
    (对于具有返回值的函数 - 返回值显示在立即窗口中)
  • YourSub "parameter"
    (对于没有返回值的subs,或者当你不关心返回值时为函数)
  • ?variable
    (显示变量的值)

答案 2 :(得分:1)

您没有运行模块 - 您正在运行碰巧存储在模块中的子程序/功能。

如果将代码放在独立模块中并且未在子例程/函数的定义中指定范围,则默认情况下它们将是公共的,并且可以从应用程序中的任何位置调用。这意味着您可以在宏中使用RunCode,从表单/报表的类模块,从独立类模块调用它们,或者从SQL调用它们(有一些警告)。

鉴于你试图在VBA中实现一些你认为对于SQL来说过于复杂的东西,SQL就是你想要执行代码的可能上下文。因此,您应该能够在SQL语句中调用您的函数:

  SELECT MyTable.PersonID, MyTable.FirstName, MyTable.LastName, FormatAddress([Address], [City], [State], [Zip], [Country]) As Address
  FROM MyTable;

该SQL调用一个名为FormatAddress()的公共函数,该函数将地址的组件作为参数,并对其进行适当的格式化。这是一个简单的例子,因为您可能不需要为此目的使用VBA函数,但关键是这是您在SQL语句中调用函数的方式。

子例程(即不返回值的代码)不能在SQL语句中调用。