我在MS Access中有一个小程序,有3个主要搜索表单:RecentOrdersSearch,OldOrdersSearch,SpecialOrdersSearch。所有订单记录都具有相同的结构,它们位于相同的订单表中。
问题是,每当我想对查询结果执行操作时,我必须为Recent,Old和Special创建三重代码,因为数据源的引用发生了变化:使用[Forms]进行查询]![RecentOrdersResults]![客户],另一个使用[Forms]![OldOrdersResults]![Client]等...
如果有某种方法可以隐式引用正在运行的表单而不是显式调用它,这会使我的数据库变得更干净并节省我很多时间,比如[Current]![Client],所以我需要一个查询而不是三个。
我希望我在描述中足够清楚,请原谅我辛苦的英语。
提前致谢
答案 0 :(得分:1)
您可以编写一个函数,返回ActiveForm
中[Client]控件的内容。像(快速写入和未经测试)的东西:
Function GetClient()
GetClient = Screen.ActiveForm.Client.Value
end Function
并在查询中将其用作条件。 =GetClient()
答案 1 :(得分:0)
当您在Access表单中执行VBA代码时,"我"指的是当前处于焦点的表单,其代码现在正在运行。