以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [原创]如何以金额拆分一行变多行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130462)
|
-- 作者:bnblatale
-- 发布时间:2019/1/22 16:28:00
-- [原创]如何以金额拆分一行变多行
以金额拆分 一行变多行 求助大神!
|
-- 作者:有点甜
-- 发布时间:2019/1/22 16:41:00
--
参考
Dim dt As DataTable = DataTables("表B") For Each dr As DataRow In dt.Select("第六列 is null") Dim sum = val(dr("第五列")) If sum > 80000 Then Dim dr1 As DataRow = dt.AddNew dr1("第一列") = dr("第一列") dr1("第五列") = sum / 3 dr1("第六列") = dr("_Identify") Dim dr2 As DataRow = dt.AddNew dr2("第一列") = dr("第一列") dr2("第五列") = sum / 3 dr2("第六列") = dr("_Identify") Dim dr3 As DataRow = dt.AddNew dr3("第一列") = dr("第一列") dr3("第五列") = sum - sum / 3 * 2 dr3("第六列") = dr("_Identify") ElseIf sum > 40000 Then Dim dr1 As DataRow = dt.AddNew dr1("第一列") = dr("第一列") dr1("第五列") = sum / 2 dr1("第六列") = dr("_Identify") Dim dr3 As DataRow = dt.AddNew dr3("第一列") = dr("第一列") dr3("第五列") = sum - sum / 2 dr3("第六列") = dr("_Identify") End If Next
|
-- 作者:有点甜
-- 发布时间:2019/1/22 16:42:00
--
请具体说明一下计算逻辑,看不懂你的数据。
|
-- 作者:bnblatale
-- 发布时间:2019/1/22 16:47:00
--
数量 、金额随意分 总数不变
|
-- 作者:y2287958
-- 发布时间:2019/1/22 16:50:00
--
随意分,那平分最简单
|
-- 作者:有点甜
-- 发布时间:2019/1/22 16:57:00
--
参考
Dim dt As DataTable = DataTables("表B") For Each dr As DataRow In dt.Select("第六列 is null and 第一列 is not null") Dim sum = val(dr("第五列")) Dim lj As Double = 0 If sum > 80000 Then Dim dr1 As DataRow = dt.AddNew dr1("第一列") = dr("第一列") Dim v = rand.Next(0, sum*100) dr1("第五列") = v / 100 lj += v / 100 dr1("第六列") = dr("_Identify") Dim dr2 As DataRow = dt.AddNew dr2("第一列") = dr("第一列") v = rand.Next(0, (sum-lj)*100) dr2("第五列") = v / 100 lj += v / 100 dr2("第六列") = dr("_Identify") Dim dr3 As DataRow = dt.AddNew dr3("第一列") = dr("第一列") dr3("第五列") = sum - lj dr3("第六列") = dr("_Identify") ElseIf sum > 40000 Then Dim dr1 As DataRow = dt.AddNew dr1("第一列") = dr("第一列") Dim v = rand.Next(0, sum*100) dr1("第五列") = v / 100 lj += v / 100 dr1("第六列") = dr("_Identify") Dim dr3 As DataRow = dt.AddNew dr3("第一列") = dr("第一列") dr3("第五列") = sum - lj dr3("第六列") = dr("_Identify") Else Dim dr1 As DataRow = dt.AddNew dr1("第一列") = dr("第一列") dr1("第五列") = dr("第五列") dr1("第六列") = dr("_Identify") End If Next
|
-- 作者:bnblatale
-- 发布时间:2019/1/22 20:45:00
--
新手。不懂怎么复代码到表的地方。版主能不能做好,上传文件。万分感谢!
|
-- 作者:有点蓝
-- 发布时间:2019/1/22 21:05:00
--
新增窗口,添加一个按钮,把代码放到按钮click事件中
|
-- 作者:bnblatale
-- 发布时间:2019/1/22 21:14:00
--
试了。没反应 求助!
|
-- 作者:bnblatale
-- 发布时间:2019/1/22 21:17:00
--
工作原因。一个月要处理上千条。真心求助!万分感谢~
|