【发布时间】:2011-07-19 23:32:00
【问题描述】:
好的,我正在使用 Access 2003,几天前我刚刚开始学习 Access 和 VBA。
我在一个模块中编写了一些代码,当我按下调试器工具栏上的播放按钮时没有错误。
我如何在我的数据库上实际执行此代码,以便它执行某些操作。
换句话说,我如何使用该模块?
请帮帮我,我正在努力奋斗,截止日期是星期四!
谢谢!
【问题讨论】:
好的,我正在使用 Access 2003,几天前我刚刚开始学习 Access 和 VBA。
我在一个模块中编写了一些代码,当我按下调试器工具栏上的播放按钮时没有错误。
我如何在我的数据库上实际执行此代码,以便它执行某些操作。
换句话说,我如何使用该模块?
请帮帮我,我正在努力奋斗,截止日期是星期四!
谢谢!
【问题讨论】:
这取决于您要如何调用此代码。
您是通过单击表单的按钮调用它,如果是,则在表单上按钮的属性中,转到“事件”选项卡,然后单击“单击”项目,选择[事件过程]。这将打开该按钮的 VBA 代码窗口。然后你会调用你的 Module.Routine,然后当你点击按钮时这会触发。
与此类似:
Private Sub Command1426_Click()
mdl_ExportMorning.ExportMorning
End Sub
此按钮单击事件调用Module mdl_ExportMorning 和Public Sub ExportMorning。
【讨论】:
如果您只是想运行一个函数进行测试,您可以在 Access 中使用Immediate Window。
在 VBA 编辑器中按 Ctrl + G 将其打开。
然后你可以像这样运行你的函数:
?YourFunction("parameter")YourSub "parameter"?variable【讨论】:
Strg 相当于美式键盘上的Ctrl。
您运行的不是模块——您运行的是恰好存储在模块中的子例程/函数。
如果您将代码放在独立模块中,并且未在子例程/函数的定义中指定范围,则默认情况下它们将是公共的,并且可以从应用程序中的任何位置调用。这意味着您可以在宏中使用 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 语句中调用。
【讨论】: