访问 - 如何使用不同行中的项目进行计算

时间:2017-10-05 07:38:34

标签: ms-access

我知道可以使用访问来计算同一行中的项目。但 是否可以计算不同行中的项目?

例如,我想乘以" speedkmhr"与下一行的方向。

https://i.stack.imgur.com/ncPIW.png

1 个答案:

答案 0 :(得分:0)

我会使用VBA功能。在Access中按CTRL + G,然后单击菜单插入>模块。复制&将以下内容粘贴到该模块中:

Function fGetNextDirection(lngID As Long)
  Dim rst AS DAO.Recordset
  Set rst = CurrentDb.OpenRecordset("SELECT TOP 2 FROM TAXIDATA WHERE " & _ 
    "PosID = lngID & " ORDER BY PosID")
  rst.MoveLast
  If rst.RecordCount = 2 Then
    fGetNextDirection = rst!Direction
  Else
    fGetNextDirection = 0
  End If
  rst.Close
  Set rst = Nothing
End Function

然后,在查询中添加新字段:

产品:NZ(SpeedKmHr)* fGetNextDirection(PosID)

如果这是最后一条记录,结果将为0。