我在Access 2010中有一个引用查询的子 . 它们应该通过三列并找到最低的一列 . 当我运行它时,我收到一个错误:“您作为查询参数输入的表达式产生了此错误:'Projects.ProjectID'
子:
Private Sub UpdatePriority_Click()
Overall_Priority = DMin("MinvonGeoPri", "qryOverallPriority", "Projects.ProjectId=1")
End Sub
查询:
SELECT
Min(Projects.GeoPavePri) AS MinvonGeoPri
, Min(Projects.StrPri) AS MinvonStrPri
, Min(Projects.SOPri) AS MinvonSOPri
, Projects.ProjectId
FROM
Projects
WHERE
Projects.ProjNo=Activity.ProjNo;
Google建议我在1左右添加引号,所以我将其更改为 "Projects.ProjectID=" & 1 & ""
,但它没有检查双重拼写,字段名称,而且我的想法已经用完了 . 任何建议都会很棒 .
1 回答
从select语句创建
qryOverallPriority
后,引用Projects.[ProjectId]
字段只需[ProjectId]
. 简而言之,您将失去引用父表的能力,尽管它可以被引用为qryOverallPriority.[ProjectId]
,但这不是必需的 .由保存的查询提取的任何字段都由保存查询查看它的方式引用,而不是由构成已保存查询的基础SQL select语句引用 . 同样,别名字段将由其别名引用;例如[ProjectId]和[ProjectId2],用于连接中的[ProjectId]字段 .
您还使用了聚合
MIN
函数而没有GROUP BY
子句 . 使用Access前端确保您获得所需的结果 . 也许是这样的,你应该可以使用,
那是未经测试的 . 我还没有构建完整的测试环境,我不知道
Activity.ProjNo
来自哪里 .