我在 Access 表单后面有几个用 VBA 编码的按钮。我将有许多表单,它们的页脚中有这些按钮(新、下一个、上一个、重复等)。这些按钮不是标准的宏,但足够简单,可以在我的所有表单中使用相同的代码。
我该如何编写这些按钮(在所有表单中都具有相同的名称......类似于模板),所以我不必在所有表单中复制粘贴代码?有没有办法在模块中编写这些按钮并让表单导入该模块的文本(有点像大多数其他语言)?
只是好奇。使代码更简洁/更容易,因为编程的核心是我自己的,但其他人将对表单代码进行小幅编辑。
最简单的做法是Function
在标准代码模块中为每个按钮的功能创建一个。然后将每个按钮的 Click 属性从更改为[Event Procedure]
与该按钮对应的函数的名称(例如,=MyPrevFunction([Form])
)。
请注意,为了使其工作,您必须专门使用Function
而不是Sub
. VBA 中没有要求函数返回任何内容,因此只需将单词替换Function
为Sub
进行更改所需的全部内容。
一张图片胜过千言万语。
与@mwolfe02 建议的想法一样,您可以将按钮放在子表单中,这意味着只需要编辑一组按钮,或者更好的是,设置您自己的自定义菜单。这些可以在每个表单的基础上调用,也可以作为应用程序的“标准”菜单调用。您甚至可以拥有自己的右键菜单。