【发布时间】:2021-02-26 12:26:07
【问题描述】:
我有以下 SQL 查询:
FROM Registration AS r
WHERE r.RegisteredFor.Value=[Forms]![RunQueries]![filterBy];
当我运行此查询时,它会报告正常,但是,当我运行使用此查询的第二个查询时,例如:
SELECT reg.Gender, Count(reg.Gender) AS CountOfGender,
Round(Count(reg.Gender)*100/(SELECT COUNT(ID) FROM FirstQuery),1) AS Percentage
FROM FirstQuery AS reg
GROUP BY reg.Gender;
它总是弹出一个参数框询问“r.RegisteredFor.Value”,或者如果我尝试调整一些东西,它开始抱怨“百分比”部分中的聚合函数。
如果我从 WHERE 中删除 r.RegisteredFor.Value,或者用其他东西替换它,一切正常。我尝试将第一个查询 WHERE 中的“=”替换为“in”,甚至使用 SELECT 来检查 RegisteredFor 链接表上的这些值,但没有什么能阻止参数框弹出。
【问题讨论】:
-
是否有没有包含完整的第一个查询(即
SELECT部分)的原因? -
是的 - 实际的初始查询比我展示的更复杂 - 这样我就不必多次复制和粘贴相同的查询,这样就可以在不更改的情况下对其进行修改它在其他 6 个子查询上。但是,是的 - 好问题,我意识到实现我想要的最简单的方法可能就是每次复制查询而不是单独执行它们,如果初始查询需要更改,只需复制和粘贴。
-
我现在的意思是为了这个问题。它可能与您的帖子有关。
标签: sql ms-access multivalue