谁说的“跨表引用的话必须要用字符列”?
跨表引用,任何类型的列都可以。
你的代码有问题,正确的:
If e.DataCol.Name = "物料编号" Then '如果内容发生变动的是品名列
If e.NewValue Is Nothing Then '如果新值是空白,也就是品名列的内容为空
e.DataRow("库存") = Nothing '那么清空此行单价列的内容
Else
Dim dr As DataRow
'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
dr = DataTables("库存").Find("[物料编号] = '" & e.NewValue & "'")
If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
e.DataRow("库存") = dr("库存_数量")
End If
End If
End If