以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  复制订单时订单明细也复制  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=38904)

--  作者:逆行舟
--  发布时间:2013/8/10 13:46:00
--  复制订单时订单明细也复制

初学,要实现以下功能,看过视频,搜过贴子和google仍找不到思路(可能是搜索方式不得法),请论坛老师帮忙

 

现有订单表 订单编号为001

 

另有订单明细表  001项下有数据

订单编号001     商品A

订单编号001     商品B

 

现在我要复制订单表中此条数据,即001,复制后订单明细表中商品A和商品B也同样复制到订单明细中去,要如何操作?

 

 


--  作者:Bin
--  发布时间:2013/8/10 14:04:00
--  
上例子,这个不难实现的.
--  作者:有点甜
--  发布时间:2013/8/10 22:37:00
--  
 楼主做个简单的例子上传上来,自然能解决的。
--  作者:逆行舟
--  发布时间:2013/8/11 7:52:00
--  

好的,我先做上来


--  作者:逆行舟
--  发布时间:2013/8/11 8:13:00
--  

两个表 订单与订单明细

建了一个窗口  录入窗口 有一个克隆按钮 ,要实现点击克隆按钮 克隆订单数据及关联下的订单明细表中数据

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:同时复制两表.rar

[此贴子已经被作者于2013-8-11 8:15:19编辑过]

--  作者:y2287958
--  发布时间:2013/8/11 8:27:00
--  
准备克隆到哪里?
主表的数据克隆到主表关联列数据不就重复了吗

--  作者:有点酸
--  发布时间:2013/8/11 9:27:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:同时复制两表.table


--  作者:逆行舟
--  发布时间:2013/8/11 12:10:00
--  

实现了,感觉有点酸的代码,学习了

 

Dim pr As DataRow = Tables("订单").Current.DataRow
Dim crs As List(of DataRow) = pr.GetChildRows("订单明细")
Dim idx As Integer = val(DataTables("订单").Compute("max(订单ID)")) + 1
Dim dr As Row = Tables("订单").Addnew
dr("订单ID") = Format(idx,"000")
For Each dc As DataCol In DataTables("订单").DataCols
    If dc.Name <> "订单ID" Then
        dr(dc.name) = pr(dc.name)
    End If
Next
For Each cr As DataRow In crs
    Dim mr As DataRow  = DataTables("订单明细").addnew
    mr("订单ID") = Format(idx,"000")
    For Each dc As DataCol In DataTables("订单明细").DataCols
        If dc.Name <> "订单ID" Then
            mr(dc.name) = cr(dc.name)
        End If
    Next
Next


--  作者:lsy
--  发布时间:2013/8/11 13:26:00
--  

关联表同步更新,让简单的克隆,变的好艰难。

主表不得不放弃克隆,子表还是用克隆,毕竟简单。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:同时克隆主、子表.table