你可以用Find,找出最近一次的记录,然后取值,具体可以看看Find函数的说明:
http://www.foxtable.com/help/topics/0396.htm
代码大概如下,细节你可以调整一下:
Select Case e.DataCol.Name
Case "客户","商品"
if e.Datarow.Isnull("价格") Then '如果还没有输入价格
dim dr As DataRow = e.DataTable.Find("客户 = '" & e.Datarow("客户") & “’ and 商品 = '" & e.DataRow("商品") & ”‘ And [_Identify] <> “ & e.DataRow("_Identify"), "[_Identify] Desc")
if dr isnot Nothing Then
e.Datarow("价格") = dr("价格")
End if
end If
End Select
如果还是搞不定,就做个简单的例子发上来。