以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关联表记录的复制!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2862)

--  作者:woodiy
--  发布时间:2009/5/20 20:03:00
--  关联表记录的复制!

主表A表与B表相关联

在A表中复制一条记录,如何同时复制B表相关联的行,使新增加的行与B表中新增加的行仍然关联,谢谢!


--  作者:yangming
--  发布时间:2009/5/20 20:33:00
--  
不太明白你的意思,在A表复制一行到何处?到B表?
--  作者:狐哥
--  发布时间:2009/5/20 21:01:00
--  
A表COPY A表中任何一行记录,都会存在关联列的呀,则B表仍会关联.
--  作者:woodiy
--  发布时间:2009/5/21 10:18:00
--  

复制一行记录以后,相关联的行也要复制啊~!


--  作者:实话实说
--  发布时间:2009/5/21 10:38:00
--  
应该是这样的意思:再建C表(主表)和D表并关联,复制A表(主表)到C表,自动复制B表到D表。
--  作者:woodiy
--  发布时间:2009/5/21 10:41:00
--  

不是再解释一下,  就是在A表中克隆一条记录,同时关联的B表中相关联的行也要克隆,代码如何?


--  作者:狐哥
--  发布时间:2009/5/21 11:25:00
--  
for
next
参考删除关联行帮助
--  作者:狐狸爸爸
--  发布时间:2009/5/21 14:51:00
--  
关联行不好克隆吧? 因为父表没有输入关联列的内容的时候,子表不能增加行的。
--  作者:zsuser
--  发布时间:2009/12/3 10:03:00
--  

比如订单,若希望克隆其中一张订单,并把它的明细也克隆出来,不知如何实现?

能做到同时隆子表数据吗?


--  作者:狐狸爸爸
--  发布时间:2009/12/3 10:22:00
--  
以下是引用zsuser在2009-12-3 10:03:00的发言:

比如订单,若希望克隆其中一张订单,并把它的明细也克隆出来,不知如何实现?
能做到同时隆子表数据吗?



可以写一小段代码,大概就是:


Dim r1 As Row = Tables("父表").Current
Dim r2 As Row=  r1.Clone
For Each r3 As DataRow = r1.DataRow.GetChildRows("子表")
    Dim  r4 As Row = Tables("子表").AddNew  
    For c As Col In Tables("子表").Cols
        r4(c.Name) = r3(c.Name)
    Next
    r4("子表关联列") = r2("父表关联列")
Next