使用Max()的Access更新查询中的聚合函数错误

时间:2013-07-16 16:10:32

标签: ms-access aggregate-functions max

UPDATE tblFiles INNER JOIN dbo_tblStats ON tblFiles.FileName = dbo_tblStats.Video SET tblFiles.CurRecord = Max([dbo_tblstats.stopframe])
WHERE (((tblFiles.Progress)<90));

代码的含义是从一个表中获取最高帧编号,并在90%完成的条目下用它替换另一个表中的当前帧编号。 select查询返回Max fine,但执行更新会引发错误:

“您尝试执行的查询不包含指定表达式'CurRecord'作为聚合函数的一部分。”

对此表示感谢,谢谢。

1 个答案:

答案 0 :(得分:1)

查看DMax表达式(请参阅DMin, DMax Functions)是否从dbo_tblStats获得所需内容...请求stopframeVideo匹配的最大值FileName当前Video值。

假设FileNameUPDATE tblFiles SET CurRecord = DMax( "stopframe", "dbo_tblStats", "Video='" & FileName & "'" ) WHERE Progress<90; 都是文本数据类型,请尝试此查询。

{{1}}