Foxtable(狐表)用户栏目专家坐堂 → 复制行时如果连子表的所有行一起复制?


  共有7696人关注过本帖树形打印复制链接

主题:复制行时如果连子表的所有行一起复制?

帅哥哟,离线,有人找我吗?
zpx_2012
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
复制行时如果连子表的所有行一起复制?  发帖心情 Post By:2012/12/21 17:35:00 [只看该作者]

各位老师,

 

我在菜单上设计了一个复制新增的按钮,目的是想实现,复制当前选中的行,但当其有子关联表(明细表)时,复制出来的行下面同时也产生一张新的明细表。(因为这个按钮是通用的,所有有时的行也没有子关联表)如下图

 

 
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20121221172758.jpg
图片点击可在新窗口打开查看

 

因为编号列是不允许重复的,所以复制时自动将产生的新行的编号为“旧编号-2”,以方便产生新的关联明细表,生成后用户再自行修改这个编号就可以。

 

这个复制新增按钮的代码要怎么写?

 

谢谢!


 


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/21 18:05:00 [只看该作者]

 大致这样,没测试。

Dim s_r As Row = CurrentTable.Current
CurrentTable.Current.Clone
Dim d_r As Row = CurrentTable.Current
d_r("编号") = s_r("编号") & "-xxx"

For Each re As Relation In Relations
    If CurrentTable.Name = re.ParentTable.Name Then   '是父表
        For Each dr As DataRow = r.DataRow.GetChildRows(re.ChildTable.Name)
            For Each r As Row In Tables(re.ChildTable.Name).Rows
                For Each c As Col In Tables(re.ChildTable.Name).Cols   '拷贝一行数据
                    If c.Name = re.ChildColumn.Name Then
                        r(c.Name) = d_r("编号")
                    Else
                        r(c.Name) = dr(c.Name)
                    End If
                Next
            Next
        Next
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
outes
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:426 威望:0 精华:0 注册:2012/11/1 18:09:00
  发帖心情 Post By:2012/12/21 20:26:00 [只看该作者]

这个好,可以复制BOM表


 回到顶部
帅哥哟,离线,有人找我吗?
zpx_2012
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/12/21 23:47:00 [只看该作者]

谢谢,应该可以了,研究一下不懂请再请教林总了。

 回到顶部