从另一个表的多条记录更新一个表中的一条记录。其中一个表的列名是另一个表的字段
Posted
技术标签:
【中文标题】从另一个表的多条记录更新一个表中的一条记录。其中一个表的列名是另一个表的字段【英文标题】:Update one record in a table from multiple records of another table. Where column name of one table is field of another one 【发布时间】:2021-05-29 09:25:48 【问题描述】:表 1
表 2
需要从 Table1.Tonnes 更新表 2,其中 Table1.Type 与表 2 中的列名匹配。对于具有相同日期的行。到目前为止,我在 VBA 上编写了一个更新查询,但它只为表 1 中的第一条记录更新表 2。
aa = recordset.Fields("Type").Value
sql = "UPDATE LossTonnesByUnitAmmonia " _
& "INNER JOIN TempUnitLossApproval ON(LossTonnesByUnitAmmonia.Date = TempUnitLossApproval.Date) " _
& "SET LossTonnesByUnitAmmonia." & aa & " = TempUnitLossApproval.Tonnes"
DoCmd.RunSQL sql
谢谢
【问题讨论】:
【参考方案1】:您打开记录集并从字段Type
中选择一个值,就是这样。
要更新更多字段,循环记录集以检索所有要更新的字段名称,然后重建/扩展您的 SQL 以包含这些字段名称。
【讨论】:
更新查询仅更改 Ref 列。 Loop 可以纠正这一点。但它运行了两次,最后更新的值来自 steam。所以每次都会对所有记录运行查询,每次都会从最后一行更新。 是的,如果您在循环内运行更新。将其移到循环之外(之后)。以上是关于从另一个表的多条记录更新一个表中的一条记录。其中一个表的列名是另一个表的字段的主要内容,如果未能解决你的问题,请参考以下文章
将MYSQL某一数据库中的多条记录批量插入到另一MYSQL数据库时,记录不存在则插入,存在则更新