请帮助,如何将一行中的值从一行减去另一行,例如:
我希望它变成这样:
答案 0 :(得分:1)
这个问题不是很清楚,但我已经给出了你要求的内容。 这将把第一个总数放在NO = 1的行中,然后在NO增加时减少总数。
(Select Total from table1 where Date1 = (Select Min(NO) from Table1))-IIf([No]=1,0,(DSum("[Total]","[Table1]","[NO]<=" & [NO] & " AND [NO]<>1")))
将此添加为表格查询中的最后一列。您必须将“Table1”替换为您的表名,并且您应该将列名更改为与NO和Date不同的名称,因为这些名称用于Access中的其他内容。
答案 1 :(得分:0)
存储数据的方式可能会导致这种情况无法实现,因为无法区分哪些记录应从哪些记录中减去。假设将有多个记录被视为正(增加)条目。选项:
将记录标识为“增加”或“减少”的另一个字段
输入要减去负数的值
无论您选择哪种方式,报表都是显示运行余额的最简单方法,因为报表上的文本框具有RunningSum属性。
但是,如果这些记录不是传入和传出的交易,而您真正想要的是每条记录从之前的数据中获取值并减去,那么请查看Stackoverlow - get previous value
为什么用Kmh / mph命名字段,这些值显然不是Kmh / mph,它们看起来像里程表读数。更好的字段名称可能是OldOdometer,NewOdometer。里程表读数会增加而不是减少。为什么你需要添加新旧?这个数据到底是什么?