在Access SQL中使用当前对象名称

时间:2014-08-13 14:13:18

标签: sql ms-access

我在MS Access中有一个小程序,有3个主要搜索表单:RecentOrdersSearch,OldOrdersSearch,SpecialOrdersSearch。所有订单记录都具有相同的结构,它们位于相同的订单表中。

问题是,每当我想对查询结果执行操作时,我必须为Recent,Old和Special创建三重代码,因为数据源的引用发生了变化:使用[Forms]进行查询]![RecentOrdersResults]![客户],另一个使用[Forms]![OldOrdersResults]![Client]等...

如果有某种方法可以隐式引用正在运行的表单而不是显式调用它,这会使我的数据库变得更干净并节省我很多时间,比如[Current]![Client],所以我需要一个查询而不是三个。

我希望我在描述中足够清楚,请原谅我辛苦的英语。

提前致谢

2 个答案:

答案 0 :(得分:1)

您可以编写一个函数,返回ActiveForm中[Client]控件的内容。像(快速写入和未经测试)的东西:

Function GetClient()
    GetClient = Screen.ActiveForm.Client.Value
end Function

并在查询中将其用作条件。 =GetClient()

答案 1 :(得分:0)

当您在Access表单中执行VBA代码时,"我"指的是当前处于焦点的表单,其代码现在正在运行。