好的我正在使用Access 2003,我刚刚开始学习Access和VBA几天前
我在模块中编写了一些代码,当我按下调试工具栏上的播放按钮时,没有错误。
我如何在我的数据库上实际执行此代码,以便它可以执行某些操作
换句话说,我该如何使用该模块?
请帮助我,我正在努力奋斗,截止日期是星期四!
谢谢!
答案 0 :(得分:10)
这取决于你想如何调用这段代码。
您是通过单击表单上的按钮来调用它吗?如果是,则单击表单上按钮的属性,转到“事件”选项卡,然后单击“单击”项,选择[事件过程]。这将打开该按钮的VBA代码窗口。然后,您将调用Module.Routine,然后在单击按钮时触发。
与此类似:
Private Sub Command1426_Click()
mdl_ExportMorning.ExportMorning
End Sub
此按钮点击事件会调用Module mdl_ExportMorning
和Public Sub ExportMorning
。
答案 1 :(得分:9)
如果您只想运行某个功能以进行测试,可以使用Access中的Immediate Window。
按VBA编辑器中的Ctrl + G
将其打开。
然后你可以像这样运行你的功能:
?YourFunction("parameter")
YourSub "parameter"
?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语句中调用。