老师,这是新帮助里面的例子:非关联表之间的数据同步http://www.foxtable.com/help/index.html?n=2490.htm
例子中是一对一的关系,增加一个产品对应增加一个库存
如果是订单和客户,一对多的关系呢?
一个订单对应几个不同的客户
a订单有a、b、c三个客户
b订单有a、b两个客户
……
订单表新增一订单a,则空表增加对应的几个客户a、b、c
订单表新增一订单b,则空表再次增加对应的几个客户a、b
……
这是帮助里面的例子,非关联表之间的数据同步http://www.foxtable.com/help/index.html?n=2490.htm:
假定有一个产品表和一个库存表,两个表都有产品编号、产品名称、产品规格三列,但是没有建立关联,我们希望:
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
[此贴子已经被作者于2016/6/16 17:20:06编辑过]