Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 更新表中的多个字段,其中一个字段取决于另一个字段_Sql_Ms Access_Sql Update - Fatal编程技术网

Sql 更新表中的多个字段,其中一个字段取决于另一个字段

Sql 更新表中的多个字段,其中一个字段取决于另一个字段,sql,ms-access,sql-update,Sql,Ms Access,Sql Update,我在更新表中的3个值时遇到问题 我正在使用以下代码: UPDATE tblOperation SET tblOperation.DateDifference = DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate]), tblOperation.Tax = tblOperation.Value*tblOperation.Percentage/3000*tblOperation.DateDifference, tblO

我在更新表中的3个值时遇到问题

我正在使用以下代码:

UPDATE tblOperation 
SET  
tblOperation.DateDifference = DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate]), 
tblOperation.Tax = tblOperation.Value*tblOperation.Percentage/3000*tblOperation.DateDifference, 
tblOperation.FinalValue = tblOperation.Value-tblOperation.Tax;
问题是它只更新DateDifference值。要更新其他字段,我必须再运行两次代码


如何在一次运行中执行此操作?

在这样的一个查询中无法执行此操作,因为第二次和第三次更新使用的是前面列的值。因为它们都是在一个集合中更新的,所以您也必须计算它们。不能只使用列名。基本上,它不会同步更新每一列

UPDATE tblOperation 
    SET  
    tblOperation.DateDifference = DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate]), 
    tblOperation.Tax = tblOperation.Value*tblOperation.Percentage/3000*(DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate])), 
    tblOperation.FinalValue = tblOperation.Value-(tblOperation.Value*tblOperation.Percentage/3000*(DateDiff("d",[tblOperation].[Date],[tblOperation].[FinalDate])));

您可以在update语句中计算这些值。我在答案里是怎么说的。