【问题标题】:Aggregate function error in very simple update query非常简单的更新查询中的聚合函数错误
【发布时间】:2014-07-04 11:02:04
【问题描述】:

我想将表 [localfields] 中的一个字段更新为我最近的客户端 (MaxOfClientID),以便我可以在其他进程中使用该客户端 ID。当我尝试时

UPDATE LocalFields SET LocalFields.Number1 = Max([ClientInfo].[ID]);

它给了我错误

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

这似乎是一个简单的任务,但我已经花了几个小时试图弄清楚它无济于事。我错过了什么?

【问题讨论】:

  • 所以localFields是access中的表。 Number1 是该表中的一个字段,它是否与 clientInfo.id 具有相同的数据类型? lastyl 这会将 localfields.number1 中的所有记录设置为 clientinfo.id。这真的是您想要的还是您缺少 where 子句?
  • 感谢您的回复!是的,localFields 是一个表。 Number1 是一个数字字段,ClientInfo.ID 是一个自动编号。 LocalFields 中只有一条记录。当我想打开表单或基于这些值运行其他查询时,我使用它来临时保存值,即从表单中的列表中选择一个客户端 > 将客户端 ID 放在 LocalFields.Number1 > 打开具有该客户端统计信息的表单.

标签: sql vba ms-access sql-update


【解决方案1】:

尝试这样的事情(如果,也就是说,ClientInfo 是一个不同的表):

UPDATE LocalFields SET LocalFields.Number1 = SELECT Max([ID]) from ClientInfo

【讨论】:

  • "查询表达式 'SELECT Max([ID]) from ClientInfo' 中的语法错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-31
  • 2021-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多