非关联表之间的数据同步
假定有一个产品表和一个库存表,两个表都有产品编号、产品名称、产品规格三列,但是没有建立关联,我们希望:
1、在产品表增加一个产品,库存表对应也增加此产品。
2、在产品表删除一个产品,库存表对应也删除此产品。
3、在产品表更改某产品的产品编号、产品名称或产品规格后,库存表也能同步修改。
设计步骤
1、将产品表的DataColChanged事件代码设置为:
Select
Case e.DataCol.name
Case
"产品编号"
Dim
dr As
DataRow = DataTables("库存").Find("产品编号
= '" & e.OldValue
& "'")
If
dr Is
Nothing Then
dr = DataTables("库存").AddNew()
dr("产品编号")
= e.DataRow("产品编号")
dr("产品名称")
= e.DataRow("产品名称")
dr("产品规格")
= e.DataRow("产品规格")
Else
dr("产品编号")
= e.DataRow("产品编号")
End
If
Case
"产品名称","产品规格"
Dim
dr As
DataRow = DataTables("库存").Find("产品编号
= '"
& e.DataRow("产品编号")
& "'")
If
dr IsNot
Nothing Then
dr(e.DataCol.Name)
= e.DataRow(e.DataCol.Name)
End
If
End
Select
2、将产品表的DataRowDeleting事件代码设置为:
Dim
dr As
DataRow = DataTables("库存").Find("产品编号
= '" & e.DataRow("产品编号")
& "'")
If
dr IsNot
Nothing Then
dr.Delete()
End
If