我在Access窗体后面有几个用VBA编码的按钮。我将有许多表单,这些表单将在页脚中显示这些按钮(new,next,prev,duplicate等)。这些按钮不是标准的宏,但很简单,可以在我的所有表单中使用相同的代码。
我如何编写这些按钮(在所有表单中具有相同的名称......类似于模板),所以我不必在所有表单中复制粘贴代码?有没有办法在模块中编写这些按钮,并让表单导入该模块的文本(有点像大多数其他语言)?
好奇。使代码更清晰/更容易,因为编程的优点是我自己的,但其他人将对表单代码进行少量编辑。
答案 0 :(得分:3)
最简单的方法是为标准代码模块中的每个按钮功能创建一个Function
。然后将每个按钮的Click属性从[Event Procedure]
更改为与该按钮对应的函数的名称(例如,=MyPrevFunction([Form])
)。
请注意,为了实现此目的,您必须专门使用Function
而不是Sub
。 VBA中没有要求函数返回任何内容,因此只需用Function
替换Sub
即可进行更改。
一张图片胜过千言万语。
答案 1 :(得分:2)
除了@ mwolfe02建议的想法之外,您可以将子按钮放在子窗体中,这意味着只需要编辑一组按钮,或者更好的是设置自己的自定义菜单。这些可以基于每个表单调用,也可以作为应用程序的“标准”菜单调用。您甚至可以拥有自己的右键菜单。