我有table1,它有抄表区。我想计算抄表记录1和抄表记录2之间的差异。
答案 0 :(得分:0)
假设您在ID
中有一个连续的table1
字段,以下查询会为您提供所需的结果:
SELECT T1.ID, T1.MeterReading, T2.MeterReading, [T2].[MeterReading]-[T1].[MeterReading] AS Difference
FROM tbl AS T1, tbl AS T2
WHERE (((T1.ID)=[T2].[ID]-1));
但是,如果ID
属于autonumber
类型,则您可能会错过一些数字并失去连续性,因此我建议使用number
类型作为ID并使用一些代码来确保连续性。
答案 1 :(得分:0)
我假设了表和字段的名称,所以很明显你应该更改它们以适合你的模式。
Dim rs AS new ADODB.Recordset
Dim PrevReading AS Long
rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM tblReadings ORDER BY ReadingDate",CurrentProject.Connection,adOpenKeyset, adLockOptimistic
Do While Not rs.Eof
rs.Field("Difference")=rs.Field("MeterReading") - PrevReading
PrevReading = rs.Fields("MeterReading")
rs.MoveNext
Loop
rs.Close