我在一个基本数据表中有一个查询(假设我的搜索条件是正确的)返回了大约。950条记录
除了3个条件字段,我希望有大约10多个字段(项目仍在开始),每个单独的基于子查询,其中一些是普通的选择查询,一些是聚合查询。
据我所知,每个子查询必须返回1,并且只返回一个值。对于top查询的每条记录,该值流派都是单独的。
我现在的问题是,我不知道如何将搜索条件从顶部查询(简单的select查询)传递到我前面提到的10个字段中的子查询。
这是可能的吗,还是我的方法很复杂。有没有更简单的方法?
我有一个安装了Office 2010的Windows 7系统。
非常感谢您的帮助。
非常感谢。
PS子查询基于与top查询相同的表。对不起,我忘了说了。
发布于 2016-02-09 13:41:45
您可以使用函数调用在事物之间传递参数,以设置公共变量。此vba必须在模块中,而不能在表单模块之后。我不经常使用这种方法,因为全局值在易失性内存中,我更喜欢将变量保存在一个特殊的数据表中。
Public strGlobal As String
Function Func_ReadGlobal() As String
Func_ReadGlobal = strGlobal
End Function
Function Func_WriteGlobal() As String
strGlobal = Func_WriteGlobal
End Function发布于 2016-02-09 13:43:56
在所有子查询中,创建参数并将其用作搜索条件。同一列的参数名称应相同。现在,如果您在主查询中使用这些子查询,Access将为每个参数名称只询问一次,您不需要将它们显式地传递给子查询。
发布于 2016-02-09 18:54:57
谢谢你们。
我没有想到使用Globals的最明显的解决方案。一旦我的老板给我时间继续这个项目,我就会试一试。
@Sergey我不能使用参数的方式,因为整个查询,包括。子查询应该在VBA中完全独立运行,根本不需要人工输入。
https://stackoverflow.com/questions/35279453
复制相似问题