Foxtable(狐表)用户栏目专家坐堂 → [原创]如何以金额拆分一行变多行


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

主题:[原创]如何以金额拆分一行变多行

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


加好友 发短信
等级:婴狐 帖子:7 积分:106 威望:0 精华:0 注册:2019/1/22 16:20:00
[原创]如何以金额拆分一行变多行  发帖心情 Post By:2019/1/22 16:28:00 [只看该作者]

以金额拆分 一行变多行 求助大神!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:拆行.table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/22 16:42:00 [只看该作者]

请具体说明一下计算逻辑,看不懂你的数据。

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


加好友 发短信
等级:婴狐 帖子:7 积分:106 威望:0 精华:0 注册:2019/1/22 16:20:00
  发帖心情 Post By:2019/1/22 16:47:00 [只看该作者]

数量 、金额随意分 总数不变

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


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/1/22 16:50:00 [只看该作者]

随意分,那平分最简单

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:106 威望:0 精华:0 注册:2019/1/22 16:20:00
  发帖心情 Post By:2019/1/22 20:45:00 [只看该作者]

新手。不懂怎么复代码到表的地方。版主能不能做好,上传文件。万分感谢!

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/22 21:05:00 [只看该作者]

新增窗口,添加一个按钮,把代码放到按钮click事件中

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


加好友 发短信
等级:婴狐 帖子:7 积分:106 威望:0 精华:0 注册:2019/1/22 16:20:00
  发帖心情 Post By:2019/1/22 21:14:00 [只看该作者]

试了。没反应  求助!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:拆行 (1).table


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


加好友 发短信
等级:婴狐 帖子:7 积分:106 威望:0 精华:0 注册:2019/1/22 16:20:00
  发帖心情 Post By:2019/1/22 21:17:00 [只看该作者]

工作原因。一个月要处理上千条。真心求助!万分感谢~

 回到顶部
总数 13 1 2 下一页