以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 表数据如何拆分 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150576) |
-- 作者:chen_sheng -- 发布时间:2020/6/2 14:50:00 -- [求助] 表数据如何拆分 表数据拆分 [此贴子已经被作者于2020/6/2 14:52:07编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/6/2 15:02:00 -- 按照什么规则和逻辑拆分? |
-- 作者:chen_sheng -- 发布时间:2020/6/2 15:21:00 -- 1、套版拆分 套版型号有值 就新增两条记录 拆第一条: 产品型号=套版型号 洞高= 洞高 洞宽=0 洞深=洞深 数量=(原数量*2) 导入类型=\'套板\' 来源=\'原行号\' 拆第二条: 产品型号=套版型号 洞高= 0 洞宽=洞宽 洞深=洞深 数量=(原数量*1) 导入类型=\'套板\' 来源=\'原行号\' 2 套线拆分 套线型号有值 就新增两条记录 拆第一条: 产品型号=立线型号 洞高= 洞高 洞宽=0 洞深=0 数量=(原数量*4) 导入类型=\'套线\' 来源=\'原行号\' 拆第二条: 产品型号=门头型号 洞高= 0 洞宽=洞宽 洞深=0 数量=(原数量*2) 导入类型=\'套线\' 来源=\'原行号\' 3.不能重复拆分 拆分订单表 [此贴子已经被作者于2020/6/2 15:23:22编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/6/2 16:04:00 -- 直接按照这个逻辑套代码不就行了 Dim r As Row = Tables("生产单").Current Dim dr As DataRow If r IsNot Nothing Then dr = DataTables("生产单").AddNew dr("产品型号")=r("套版型号") dr("洞高")= r("洞高") dr("洞宽")=0 dr("洞深")=r("洞深") dr("数量")=r("数量")*2 dr("导入类型")="套板" dr("来源")=r("原行号") dr = DataTables("生产单").AddNew dr("产品型号")=r("套版型号") dr("洞高")= 0 dr("洞宽")=r("洞宽") dr("洞深")=r("洞深") dr("数量")=r("数量")*1 dr("导入类型")="套板" dr("来源")=r("原行号") dr = DataTables("生产单").AddNew dr("产品型号")=r("立线型号") dr("洞高")= r("洞高") dr("洞宽")=0 dr("洞深")=0 dr("数量")=r("数量")*4 dr("导入类型")="套线" dr("来源")=r("原行号") …… End If |
-- 作者:chen_sheng -- 发布时间:2020/6/2 17:38:00 -- 非常感谢指导! 单条记录可以了 但是窗口表内记录均需要这样生成咋处理呢 麻烦再给予一下指导 谢谢 Dim r As Row = Tables("销售订单").Current Dim dr As DataRow If r IsNot Nothing Then dr = DataTables("销售订单").AddNew dr("单号")=r("单号") dr("产品型号")=r("套板型号") dr("洞高")= r("洞高") dr("洞宽")=0 dr("洞深")=r("洞深") dr("数量")=r("数量")*2 dr("导入类型")="套板" dr("来源")=r("行号") dr("行号")=DataTables("销售订单").Compute("Max(行号)") + 1 dr = DataTables("销售订单").AddNew dr("单号")=r("单号") dr("产品型号")=r("套板型号") dr("洞高")= 0 dr("洞宽")=r("洞宽") dr("洞深")=r("洞深") dr("数量")=r("数量")*1 dr("导入类型")="套板" dr("来源")=r("行号") dr("行号")= DataTables("销售订单").Compute("Max(行号)") + 1 dr = DataTables("销售订单").AddNew dr("单号")=r("单号") dr("产品型号")=r("立线型号") dr("洞高")= r("洞高") dr("洞宽")=0 dr("洞深")=0 dr("数量")=r("数量")*4 dr("导入类型")="套线" dr("来源")=r("行号") dr("行号")= DataTables("销售订单").Compute("Max(行号)") + 1 dr = DataTables("销售订单").AddNew dr("单号")=r("单号") dr("产品型号")=r("立线型号") dr("洞高")= 0 dr("洞宽")=r("洞宽") dr("洞深")=0 dr("数量")=r("数量")*4 dr("导入类型")="套线" dr("来源")=r("行号") dr("行号")= DataTables("销售订单").Compute("Max(行号)") + 1 \'Tables("销售订单").Save End If [此贴子已经被作者于2020/6/2 18:10:21编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/6/2 20:06:00 -- 遍历所有行 Dim drs As List(Of DataRow)
drs = DataTables("销售订单").Select("套板型号 is not null") For Each dr As Datarow In drs …… Next |