2015-05-05 101 views
0

在Access 2013 db中,我写了两个查询。如何在查询中使用Access 2013参数查询?

具有参数

SELECT [par], IIf(Len([par])>=4,Left(([par]),4),"") AS first_part, IIf(Len([par])>=6,Left(([par]),6),"") AS second_part, IIf(Len([par])>=8,Left(([par]),8),"") AS third_part; 

的查询的查询,而无需参数

SELECT par_list.par, IIf(Len(par_list.par)>=4,Left((par_list.par),4),"") AS first_part, IIf(Len(par_list.par)>=6,Left((par_list.par),6),"") AS second_part, IIf(Len(par_list.par)>=8,Left((par_list.par),8),"") AS third_part 
FROM par_list; 

我想重写与所述第一查询的第二查询。怎么样 ?

我想在其他查询中使用第一个查询作为函数。怎么样 ?

Most Access参数查询调用示例使用VBA。我们可以在另一个查询中调用参数查询,而不使用VBA?

+0

也许你可能会发现[这个答案](http://stackoverflow.com/a/16571156/2144390)有帮助。 –

+0

我已阅读(并尝试过)最新的答案。他/她使用中间表来传递参数。我的好奇心是我们可以在另一个查询中调用参数查询,而不使用VBA?看来,我们不能,我们必须使用VBA。 – Raymond

回答

0

为此使用VBA。这也是它的目的,并且在调试时会为您节省很多麻烦。

+1

您应该注意,OP可以通过使用VBA轻松地使其代码可重用,然后可以通过查询调用它并将其用作函数。 –

+0

我的担心是CAN或CAN NOT。我们不能在查询中重用参数查询吗?我读过访问参考,这似乎是真的。 – Raymond

+0

您所谓的参数查询将返回一行。如果你保存这个,它可以用作源代码或加入到另一个查询中,如果这是你所要求的,但我认为它没有实际用途。你在这两天中试过了什么? – Gustav