使用来自另一个表的值的总和更新表

填写

有人可以帮我吗?我想更新tblTotals使用SumCosttblAppointments我有:

Private Sub btnUpdate_Click()
Dim rs1 As DAO. Recordset
Dim rs2 As DAO. Recordset

Set rs1 =  CurrentDB.OpenRecordset("SELECT Pets, Sum(cost) As TotalCost FROM tblAppointments WHERE (((DateDiff('m',[AppointmentDate],DateSerial(Year(Date()),1,1))) Between -6 And 5)) GROUP BY Pets")

Set rs2 = CurrentDB.OpenRecordset("SELECT Pets, TotalCost FROM tblTotals")

With rs1
If Not rs1.BOF then rs1.Movefirst 
Do Until r1.EOF
rs2. Edit
rs2.Fields("TotalCost").Value = rs1.Fields("TotalCost").Value
rs2.Update
Set rs1 = Nothing
Set rs2 = Nothing
End With 


End Sub

tblTotals

+=========+=========+=============+
+  Pets   +    Dr   +  TotalCost  +
+=========+=========+=============+
+  Cats   +   John  +  £20.00     +
+---------+---------+-------------+ 
+  Dogs   +   Sam   +  £80.00     +
+---------+---------+-------------+ 
+  Rabits +   Ellis +  £85.35     +
+---------+---------+-------------+
+ Parrots +   Ellis +  £63.00     +
+---------+---------+-------------+`

tblAppointments:

+=========+=========+=============+=================+
+  Pets   +    Dr   +   Cost      + AppointmentDate +
+=========+=========+=============+==================
+  Cats   +   John  +  20.50      + 12/02/2020      +
+---------+---------+-------------+-----------------+
+  Dogs   +   Sam   +  80.00      + 10/05/2020      +
+---------+---------+-------------+-----------------+ 
+  Dogs   +   Sam   +  80.00      + 12/02/2020      +
+---------+---------+-------------+-----------------+ 
+  Rabits +  Ellis  +  £85.35     + 12/12/2019      +
+---------+---------+-------------+-----------------+ 
+  Cats   +  John   +  20.50      + 12/10/2019      +
+---------+---------+-------------+-----------------+ 
+  Cats   +  John   +  20.50      + 12/09/2019      +
+---------+---------+-------------+-----------------+ 
+ Parrots +  Ellis  +  £63.25     + 12/08/2019      +
+---------+---------+-------------+-----------------+` 

预期成绩:

tblTotals

+=========+=========+=============+
+  Pets   +    Dr   +  TotalCost  +
+=========+=========+=============+
+  Cats   +   John  +  £61.50     +
+---------+---------+-------------+ 
+  Dogs   +   Sam   +  £160.00    +
+---------+---------+-------------+ 
+  Rabits +   Ellis +  £85.35     +
+---------+---------+-------------+
+ Parrots +   Ellis +  £63.00     +
+---------+---------+-------------+

谢谢。

填写

有时,尽管设计不佳,但您别无选择,只能尝试提出解决方案。在这种情况下。我曾经DAOUpdate tblTotals使用聚合查询作为recordset只要所讨论的表的大小很小,您就不会注意到任何明显的速度问题。

Private Sub btnUpdate_Click()

Dim rs1 As DAO.Recordset
Dim rs2 As DAO.Recordset

Set rs1 =  CurrentDB.OpenRecordset("SELECT Pets, Sum(Cost) As TotalCost FROM tblAppointments WHERE (((DateDiff('m',[AppointmentDate],DateSerial(Year(Date()),1,1))) Between -6 And 5)) GROUP BY Pets")

Set rs2 = CurrentDB.OpenRecordset("SELECT Pets, TotalCost FROM tblTotals")


rs1.MoveFirst
Do Until rs1.EOF
rs2.MoveFirst
Do Until rs2.EOF
If rs1![Pets] = rs2![Pets] Then
rs2.Edit
rs2.Fields("TotalCost").Value = rs1.Fields("TotalCost").Value
rs2.Update
End If
rs2.MoveNext
Loop
rs1.MoveNext
Loop

rs1.Close
rs2.Close
Set rs1 = Nothing
Set rs2 = Nothing

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用来自另一个表的值的 SQL 更新表

来自分类Dev

使用VBA使用来自另一个表的值更新访问表

来自分类Dev

使用来自另一个表的信息更新SQL Server中的表

来自分类Dev

如何使用来自另一个表Microsoft Access的查询更新表

来自分类Dev

SQL-使用来自另一个表的信息更新表

来自分类Dev

使用来自另一个表的值更新PHP MYSQL中的表

来自分类Dev

使用来自查询的另一个表的结果更新表变量

来自分类Dev

使用SQLite使用来自另一个表的值更新列?

来自分类Dev

kdb使用来自另一个表的数据更新整个列

来自分类Dev

使用来自另一个表的值更新行时的Postgres错误

来自分类Dev

kdb使用来自另一个表的数据更新整个列

来自分类Dev

使用来自另一个表的数据更新特定行

来自分类Dev

使用来自另一个表的汇总值更新一个表的多个列

来自分类Dev

插入后触发使用来自另一个表的数据更新同一表

来自分类Dev

使用来自另一个表的外键将数据插入或更新到表中

来自分类Dev

oracle使用来自另一个表的列值更新前4个字符

来自分类Dev

使用来自另一个表的数据将列添加到表

来自分类Dev

mysql使用来自另一个表的关系从表中订购数据

来自分类Dev

使用来自另一个表的时间向MySQL表填充虚拟数据

来自分类Dev

mysql使用来自另一个表的关系从表中订购数据

来自分类Dev

用来自另一个表PostgreSQL的SUM更新列

来自分类Dev

使用来自asp.net中另一个表的值生成下拉列表。VB MVC 4

来自分类Dev

SQL / MS Access:在SQL表中添加一个自动更新的字段,其中包含来自另一个表的值的总和

来自分类Dev

触发更新来自另一个表MySQL的总和

来自分类Dev

触发更新来自另一个表MySQL的总和

来自分类Dev

来自另一个表的聚集值的树形结构递归总和

来自分类Dev

sqlite3仅当其他4个列匹配时才使用来自另一个表的数据更新表

来自分类Dev

从另一个表更新总和

来自分类Dev

使用来自SQL Server中另一个表的ID更新现有表的新外键列

Related 相关文章

  1. 1

    使用来自另一个表的值的 SQL 更新表

  2. 2

    使用VBA使用来自另一个表的值更新访问表

  3. 3

    使用来自另一个表的信息更新SQL Server中的表

  4. 4

    如何使用来自另一个表Microsoft Access的查询更新表

  5. 5

    SQL-使用来自另一个表的信息更新表

  6. 6

    使用来自另一个表的值更新PHP MYSQL中的表

  7. 7

    使用来自查询的另一个表的结果更新表变量

  8. 8

    使用SQLite使用来自另一个表的值更新列?

  9. 9

    kdb使用来自另一个表的数据更新整个列

  10. 10

    使用来自另一个表的值更新行时的Postgres错误

  11. 11

    kdb使用来自另一个表的数据更新整个列

  12. 12

    使用来自另一个表的数据更新特定行

  13. 13

    使用来自另一个表的汇总值更新一个表的多个列

  14. 14

    插入后触发使用来自另一个表的数据更新同一表

  15. 15

    使用来自另一个表的外键将数据插入或更新到表中

  16. 16

    oracle使用来自另一个表的列值更新前4个字符

  17. 17

    使用来自另一个表的数据将列添加到表

  18. 18

    mysql使用来自另一个表的关系从表中订购数据

  19. 19

    使用来自另一个表的时间向MySQL表填充虚拟数据

  20. 20

    mysql使用来自另一个表的关系从表中订购数据

  21. 21

    用来自另一个表PostgreSQL的SUM更新列

  22. 22

    使用来自asp.net中另一个表的值生成下拉列表。VB MVC 4

  23. 23

    SQL / MS Access:在SQL表中添加一个自动更新的字段,其中包含来自另一个表的值的总和

  24. 24

    触发更新来自另一个表MySQL的总和

  25. 25

    触发更新来自另一个表MySQL的总和

  26. 26

    来自另一个表的聚集值的树形结构递归总和

  27. 27

    sqlite3仅当其他4个列匹配时才使用来自另一个表的数据更新表

  28. 28

    从另一个表更新总和

  29. 29

    使用来自SQL Server中另一个表的ID更新现有表的新外键列

热门标签

归档