如何解决为什么 Access 在运行 SQL 时请求参数值
Select count([Customer Number])
From
(
SELECT distinct [Customer Number] & [Membership Number],[Customer Number]
FROM Data
Where [Customer Number] = 2000004
)
group by [Customer Number] & [Membership Number];
正在寻找会员号的参数值。这是为什么?
解决方法
外部 SELECT
唯一可用的字段是在子查询 SELECT
中列出的字段。该子查询字段列表不包括 [Membership Number]
作为单独的字段。它仅作为连接 2 个字段的表达式的一部分存在。 Access 将为该计算列分配一个别名(如“Expr”后跟一个数字)。并且它不会返回名为 [Membership Number]
的列。
这是一个立即窗口示例,它说明了这个问题......
strSubQ = "SELECT DISTINCT [Customer Number] & [Membership Number],[Customer Number] FROM Data"
Set rs = CurrentDb.OpenRecordset(strSubQ)
' what are the names of the fields available from the subquery?
For i = 0 To (rs.Fields.Count - 1): ? rs.Fields(i).Name : Next
Expr1000
Customer Number
因此,当 Access 在外部查询的 [Membership Number]
子句中看到 GROUP BY
时,它无法在可用字段中找到该名称,因此假定它必须是一个参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。