访问 - 使用VBA,如何使用字段计算当前记录和先前记录之间的体积差异

时间:2016-05-24 00:51:09

标签: vba access

表记录

-----------
ID | Volume
-----------
1  |  10
2  |  15
3  |  28
4  |  10

需要的结果

-----------------------
ID | Volume | VolDiff
-----------------------
1  |  10    |  
2  |  15    |   5
3  |  28    |   13
4  |  10    |  -18

我正在寻找一种明确引用先前记录集字段的方法

喜欢或关闭

VolDiff = rs!音量 - rs![音量] -1

很长一段时间不使用Access,我们非常感谢完整的代码。

感谢。

1 个答案:

答案 0 :(得分:0)

这应该做你需要的;

Dim sql As String
Dim rst As DAO.Recordset
Dim Vol1 As Long, Vol2 As Long

sql = "SELECT * FROM tblTest ORDER BY ID;"

Set rst = CurrentDb.OpenRecordset(sql, dbOpenDynaset)

With rst
    .MoveFirst
    Do Until .EOF
        If Vol1 = 0 Then
            Vol1 = Nz(!Volume, 0)
        Else
            Vol2 = Nz(!Volume, 0)
            .Edit
                !VolDiff = Vol2 - Vol1
            .Update
            Vol1 = Vol2
        End If
        .MoveNext
    Loop
End With

如果代码适合您,请将此问题标记为已回答。感谢。