楼主,你的问题应该是,修改了物料代码以后,去库存表里取得此物料号的最后一条记录吧?12楼15楼已经给出答案了
'从库存表取平均单价
If e.DataCol.Name = "物料代码" Then '如果内容发生变动的是品名列
If e.NewValue Is Nothing Then '如果新值是空白,也就是品名列的内容为空
e.DataRow("加权平均单价") = Nothing '那么清空此行单价列的内容
End If
End If
Dim db As DataRow
'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
Dim dw As DataRow = DataTables("库存材料表").Find("[物料代码] = '" & e.NewValue & "'","_Identify Desc")
If dw IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
e.DataRow("加权平均单价") = dw("加权平均单价")
End If