使用update和Aggregrate sum()函数更新MS Access数据库表

时间:2018-03-31 03:37:06

标签: ms-access

我的访问数据库中有两个表 table1(员工姓名,Emp号码,Emp薪水) table2(员工姓名,Emp号码,总薪资) 这些表使用“员工姓名”和“Emp号码”相关联,如何使用第一个表中的值Sum(Emp Salary)更新table2中的“Total Salary”“

1 个答案:

答案 0 :(得分:1)

包含聚合函数或使用具有聚合函数的查询的查询不可更新。因此,您可以使用以下命令更新现有表中的数据:

  1. 临时表。将聚合结果保存在临时表中,然后使用此临时表中的数据更新工作表。
  2. 如果聚合很简单,并且聚合查询函数可以被域聚合函数(如DSum或CDount)替换,则生成的查询将是可更新的,您可以避免使用临时表
  3. 使用域功能查询可能如下所示:

    UPDATE Result
    SET Result.[Total Salary] = DSum("Emp Salary", "Emp", "Employee Name='" & Replace(Result.EmpName, "'", "''") & _
        "' and [Emp Number]=" & Result.[Emp Number])
    WHERE Result.[EmpName] = 'Mohan'
        AND Result.[Emp Number] = 1;