Sql 查询刷新时的参数值请求

Sql 查询刷新时的参数值请求,sql,ms-access,Sql,Ms Access,我有一个SQL,它正在工作并从MS Access返回我需要的信息,但是它一直要求我输入“年度累计”和“已使用”的参数值 我不希望选项输入参数,它应该只是计算。我错过了什么 以下是服务年限查询的SQL SELECT Roster.UserID, Roster.[WM DOH], Round((Date()-[WM DOH])/365,2) AS YearsOfService, Max (tblAccrual.WeeksAccrual) AS [Annual Accrual], Roste

我有一个SQL,它正在工作并从MS Access返回我需要的信息,但是它一直要求我输入“年度累计”和“已使用”的参数值

我不希望选项输入参数,它应该只是计算。我错过了什么

以下是服务年限查询的SQL

    SELECT Roster.UserID, Roster.[WM DOH], Round((Date()-[WM DOH])/365,2) AS YearsOfService, 
Max (tblAccrual.WeeksAccrual) AS [Annual Accrual], Roster.Schedule, 
[Annual Accrual]*[Schedule] AS [Annual Vac Days]
    FROM Roster, tblAccrual
    WHERE ((([tblAccrual]![Years])<Round((Date()-[WM DOH])/365,2)))
    GROUP BY Roster.UserID, Roster.[WM DOH], 
Round((Date()-[WM DOH])/365,2), Roster.Schedule, [Annual Accrual]*[Schedule];
选择花名册.UserID,花名册[WM DOH],四舍五入((日期()-[WM DOH])/365,2)作为服务年,
最大值(待定周累计值)为[年度累计值]、花名册时间表、,
[年度应计]*[附表]为[年度Vac天数]
来自花名册,TBlaccual
其中((([tblAccrual]![Years])此查询中的任何位置都没有使用“年度应计”,因此必须从qry_yearsofsofservice调用它,或者从更进一步的嵌套查询调用它

至于“已使用”,请将您在Group By中的引用更改为Sum(SchedulingLog.Value)。

此查询中的任何位置都没有使用“年度应计”,因此必须从qry_YearsOfService或更进一步的嵌套查询中调用它


至于“已使用”,请将组中的引用更改为Sum(SchedulingLog.Value)。

我认为您可能有两个不同的问题

该SQL中没有名为“年度应计”的字段。它可能包含在
qry\u年服务
中,但拼写错误(?)。如果找不到问题,请向我们显示
qry\u年服务
的SQL

您的
分组依据
子句引用了
[已使用]
,这是在字段表达式列表中定义的别名。我怀疑db引擎将其解释为
GROUP BY
中的一个参数,因为它对允许您稍后在查询中使用字段别名有很大的限制。我想您需要更改它。向我们展示
SchedulingLog
qry\U YearsOfS中的简要示例服务
如果您需要帮助,请进行分类


除了这些问题之外,您的字段列表还包括两次
SchedulingLog.Category
,第一次别名为
Type
,第二次别名为unaliased。我不明白这一点。两次包含同一字段可能不会产生问题,但是
Type
可能是因为它是一个保留字。如果您保留该字段如果是别名,请将其括在方括号内以确保安全。

我认为您可能有两个不同的问题

该SQL中没有名为“年度应计”的字段。它可能包含在
qry\u年服务
中,但拼写错误(?)。如果找不到问题,请向我们显示
qry\u年服务
的SQL

您的
分组依据
子句引用了
[已使用]
,这是在字段表达式列表中定义的别名。我怀疑db引擎将其解释为
GROUP BY
中的一个参数,因为它对允许您稍后在查询中使用字段别名有很大的限制。我想您需要更改它。向我们展示
SchedulingLog
qry\U YearsOfS中的简要示例服务
如果您需要帮助,请进行分类


除了这些问题之外,您的字段列表还包括两次
SchedulingLog.Category
,第一次别名为
Type
,第二次别名为unaliased。我不明白这一点。两次包含同一字段可能不会产生问题,但是
Type
可能是因为它是一个保留字。如果您保留该字段这是别名,为了安全起见,请将其括在方括号内。

我认为它要求的是
[年度应计]
,因为您的第一个查询的
[年度应计]*[Schedule]
子句中有
[年度应计]
。请尝试删除它


要求
[使用过的]
的原因与您在第二次查询的
[年度休假天数]+[使用过的]
组中引用的
[年度累计]
相同。

我认为它要求的是
[年度累计]
,因为您有
[年度累计]*[时间表]
在第一个查询的
group by
子句中。尝试将其取出


询问
[Used]
的原因与您询问
[Annual Vac Days]+[Used]的原因相同
在您第二次查询的
group by
子句中引用。

当您单独运行qry_YearsOfService时会发生什么情况?它是否要求这些参数?看起来您是在汇总查询中的数据以寻找参数。我认为您不需要按计划日志进行分组。第二类是的,它要求“年度累计”。当您单独运行qry_Yearsof Service时会发生什么情况?它是否要求提供这些参数?看起来您是在汇总查询中的数据以查找参数。我认为您不需要按计划日志进行分组。类别twice是的,它要求“年度应计”。
    SELECT Roster.UserID, Roster.[WM DOH], Round((Date()-[WM DOH])/365,2) AS YearsOfService, 
Max (tblAccrual.WeeksAccrual) AS [Annual Accrual], Roster.Schedule, 
[Annual Accrual]*[Schedule] AS [Annual Vac Days]
    FROM Roster, tblAccrual
    WHERE ((([tblAccrual]![Years])<Round((Date()-[WM DOH])/365,2)))
    GROUP BY Roster.UserID, Roster.[WM DOH], 
Round((Date()-[WM DOH])/365,2), Roster.Schedule, [Annual Accrual]*[Schedule];