重新计算一次不就好了?
If Tables("领料申请_table2").Current IsNot Nothing Then
If Tables("领料申请_table2").TopPosition>-1 Then
For i As Integer=Tables("领料申请_table2").BottomPosition To Tables("领料申请_table2").TopPosition Step -1
Dim dr2 = Tables("领料申请_table2").Rows(i)
For Each dr As DataRow In DataTables("物检入库明细表").Select("[物料ID] = '" & dr2("物料ID") & "'")
dr("可申领数") = dr("需求数") - DataTables("领料申请明细").Compute("Sum(申请数)", "[物料ID] = '" & dr2("物料ID") & "' and [审核] = 'true'") + dr2("申请数")
dr.save()
Next
dr2.delete
Next
End If
End If