以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]复制选定行的子表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77853)

--  作者:yupeng
--  发布时间:2015/11/26 15:02:00
--  [求助]复制选定行的子表

选定行 有1个子表(订单编号关联),每个子表内的行数不同,可能有的行没有子表

完成效果

1.父表,选定行的指定列复制到新增行的指定列,保存新增行,保存完成时新增行就会确定订单编号列的值。这个代码被大红袍师傅教会了,代码如下。

Dim t As Table = Tables("生产进度表")
Dim cr As Row = t.Current
Dim nr As Row = t.AddNew
nr("下单日期") = Date.Today
nr("客户") = cr("客户")
nr("款号") = cr("款号")
Tables("生产进度表").Current.Save() 

以下代码不会写


2.判断选定行有没有子表,有子表时执行代码A,没有子表执行代码B
 
 
  A:判断选定行子表有多少行,然后在新增行的子表内新增多少行,再把选定行子表的所有值复制到新增行的子表内,最后新增行的子表内的提定列的值为空。


--  作者:大红袍
--  发布时间:2015/11/26 15:46:00
--  

Dim t As Table = Tables("生产进度表")
Dim cr As Row = t.Current
Dim nr As Row = t.AddNew
nr("下单日期") = Date.Today
nr("客户") = cr("客户")
nr("款号") = cr("款号")
Tables("生产进度表").Current.Save()

 

For Each dr As DataRow In cr.DataRow.GetChildRows("子表名")
    Dim cnr As Row = Tables("子表名").addnew
    cnr("编号") = nr("编号")
    cnr("其它列") = cnr("其它列")
Next


--  作者:yupeng
--  发布时间:2015/11/26 17:02:00
--  

后面代码好像一点反就都没有   打开子表窗口是空的

 


--  作者:大红袍
--  发布时间:2015/11/26 17:31:00
--  
上传具体实例测试。