为什么这个查询要求参数值?

时间:2013-09-06 18:05:04

标签: sql parameters ms-access-2010

我在Access 2010中工作。我有以下查询(名为bird_year_species):

SELECT sub.Species, Min(sub.obs_year) AS First_sighting_year
FROM (SELECT DISTINCT [Genus_BiLE] & " " & [Species_BiLE] AS Species, [Year_BiLE] AS  obs_year
FROM BiLE_Bound


UNION ALL

SELECT DISTINCT [Genus_BiMN] & " " & [Species_BiMN] AS Species, [Year_BiMN] AS obs_year
FROM BiMN_Bound

UNION ALL 

SELECT DISTINCT [Genus_BiPC] & " " & [Species_BiPC] AS Species, [Year_BiPC] AS obs_year
FROM BiPC_Bound

UNION ALL

SELECT Distinct [Genus_BiOP] & " " & [Species_BiOP] AS Species, [Year_BiOP] AS obs_year
FROM BiOP_Rec

)  AS sub
GROUP BY sub.Species;

当我打开它时,我得到一个弹出窗口,询问Query1.obs_year的参数值。如果我只是填写任何东西并点击好,表格会弹出并且有效。我不知道为什么会这样,并且查询没有命名为Query1。

3 个答案:

答案 0 :(得分:0)

我尝试将代码复制到新查询中。我试着压缩修复。我尝试用另一个名称保存数据库。没有哪个有效。

最终我打开了查询,从SQL视图切换到设计视图,回到SQL视图和瞧,这似乎是这样做的。太奇怪了。

答案 1 :(得分:0)

发生这种情况时,请检查您的属性,特别是在过滤器中查找对Queryx的引用,并按字段顺序查找。

答案 2 :(得分:0)

我遇到了同样的问题,OP解决方案对我不起作用,因为它是由其他原因引起的。 如果其他人处于我的状况并且偶然发现了这个问题,我将提供原因和解决方案。 对于我来说,这是使用Access的初学者,可能确实很基本,但是也许可以帮助那里的某个人。

我有一个同时包含GROUP BY和一些计算列的查询。 像

Select A, B, (A*B) AS C, (A+B) AS D
FROM table
GROUP BY A, B

然后我从设计视图中添加了另一个基于C和D的计算字段,并且在运行查询时开始要求输入C和D。 查看SQL,该设计导致错误的查询:

Select A, B, (A*B) AS C, (A+B) AS D, (D*C) as E
FROM table
GROUP BY A, B, [D]*[C]

请注意表达式是如何添加到分组依据的? 这就是为什么它在运行查询时要求输入值。

解决方案

  • 从sql中删除不必要的分组

  • 从设计视图中,将列的Total的值从Group By更改为Expression