谢谢解答,还帮助简化了代码
但是修改成这样不行,提示dt = DataTables("库存").Find("[关联列] = " & e.DataRow(_Identify))出错
Select Case e.DataCol.Name
Case "商品名称"
If e.DataRow.IsNull("商品名称") = False Then '如果已经输入商品名称
Dim dr As DataRow = DataTables("库存").AddNew()
dr("关联列") = e.DataRow("_Identify")
dr("业务日期") = e.DataRow("业务日期")
dr("关联业务") = "入库"
dr("商品名称") = e.DataRow("商品名称")
dr("往来单位名称") = e.DataRow("供应商")
dr("关联业务单号") = e.DataRow("单据编号")
dr("入库_数量") = e.DataRow("数量")
dr("入库_金额") = e.DataRow("金额")
End If
Case "金额"
e.DataRow("单价") = e.DataRow("金额") / e.DataRow("数量")
Dim dt As DataRow '否则在产品表查找同名的产品行,将找到的行赋值给变量dt
dt = DataTables("库存").Find("[关联列] = " & e.DataRow(_Identify))
If dt IsNot Nothing Then '如果找到了同名的产品行,也就是dt不是Nothing
dt("金额") = e.DataRow("金额")
End If
Case "单价","数量"
e.DataRow("金额") = e.DataRow("单价") * e.DataRow("数量")
Dim dt As DataRow '否则在产品表查找同名的产品行,将找到的行赋值给变量dt
dt = DataTables("库存").Find("[关联列] = " & e.DataRow(_Identify))
If dt IsNot Nothing Then '如果找到了同名的产品行,也就是dt不是Nothing
dt("数量") = e.DataRow("数量")
End If
End Select
另外请问为什么按帮助文档:非关联表之间的数据同步,修改为
Dim dr As
DataRow =
DataTables("库存").Find("关联列 =
'" & e.DataRow("_Identify") & "'")
这样不会提示出错,但是达不到效果,库存不会变化
[此贴子已经被作者于2017/5/9 21:13:38编辑过]