Sql 从另一个表的多条记录更新表中的一条记录。其中一个表的列名是另一个表的字段
表1 表2 需要从Table1.Type中更新表2,其中Table1.Type与表2中的列名匹配。对于具有相同日期的行。到目前为止,我在VBA上编写了一个更新查询,但它只为表1中的第一条记录更新了表2Sql 从另一个表的多条记录更新表中的一条记录。其中一个表的列名是另一个表的字段,sql,vba,ms-access,Sql,Vba,Ms Access,表1 表2 需要从Table1.Type中更新表2,其中Table1.Type与表2中的列名匹配。对于具有相同日期的行。到目前为止,我在VBA上编写了一个更新查询,但它只为表1中的第一条记录更新了表2 aa = recordset.Fields("Type").Value sql = "UPDATE LossTonnesByUnitAmmonia " _ & "INNER JOIN TempUnitLossApprova
aa = recordset.Fields("Type").Value
sql = "UPDATE LossTonnesByUnitAmmonia " _
& "INNER JOIN TempUnitLossApproval ON(LossTonnesByUnitAmmonia.Date = TempUnitLossApproval.Date) " _
& "SET LossTonnesByUnitAmmonia." & aa & " = TempUnitLossApproval.Tonnes"
DoCmd.RunSQL sql
谢谢您打开记录集并从字段
中选择一个值键入
,就这样了
要更新更多字段,请循环记录集以检索所有要更新的字段名,然后重新生成/扩展SQL以包含这些字段名。update query仅更改Ref列。Loop可以纠正这一点。但它运行了两次,最后一次更新的值来自steam。所以每次查询都会对所有记录运行,每次都会从最后一行更新。是的,如果在循环中运行更新。把它移到环的外面(后面)。