Foxtable(狐表)用户栏目专家坐堂 → 合并行


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

主题:合并行

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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
合并行  发帖心情 Post By:2016/11/24 10:13:00 [只看该作者]

发外毛坯表有以下几列:订单编号,订单客户,外加工厂商,品名,发外重量;想把订单客户,外加工厂商,品名相同的行复选框打勾后合并成一行,并且把发外重量相加,把不同的订单编号都填入订单编号列,入订单编号 = 订单编号 & 订单编号。请问老师如何解决,谢谢!

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/24 10:23:00 [只看该作者]

1、在同一个表不要这样做。

 

2、做成主表、明细表的形式,然后合并或统计

 

循环每一行累加 http://www.foxtable.com/webhelp/scr/1776.htm

 


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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/11/24 11:30:00 [只看该作者]

老师,这个表得数据是从订单明细表复制来的,这个表就有明细表,因为生产调度做计划需要,采用了这种方式

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106653 积分:542448 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/24 12:00:00 [只看该作者]

做个按钮,获取勾选的行,然后拼接每行对应列的内容


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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/24 12:19:00 [只看该作者]

比如代码

 

dim sum as double = 0
dim str as string = ""
For Each r As Row In Tables("订单").GetCheckedRows
    sum = sum + r("金额")
    str = str & r("编号") & ","
Next

msgbox(sum)
msgbox(str.trim(","))


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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/11/24 13:27:00 [只看该作者]

下面代码发生错误:声明用于循环控制变量的数组时不能使用初始大小得值--For Each r(i) As Row In Tables("发外加工计划表").GetCheckedRows
Dim i As Integer = 0
Dim dr As Row = Tables("发外加工计划表").AddNew
For Each r(i) As Row In Tables("发外加工计划表").GetCheckedRows
    If r(i) = r0 Then
        dr("订单编号") = r(i)("订单编号")
        dr("外加工厂商") = r(i)("外加工厂商")
        dr("订单客户") = r(i)("订单客户")
        dr("品名") = r(i)("品名")
        dr("加工类型") = r(i)("加工类型")
        dr("发外重量") = r(I)("发外重量")
        dr.Save
    Else
        If r(i)("外加工厂商") = dr("外加工厂商") And r(i)("订单客户") = dr("订单客户") And r(i)("品名") = dr("品名") And r(i)("加工类型") = dr("加工类型") Then
            dr("订单编号") = dr("订单编号") & r(i)("订单编号") & ","
            dr("发外重量") = dr("发外重量") + r(i)("发外重量")
        End If
    End If
    i= i + 1
Next
应该怎么改?

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106653 积分:542448 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/24 14:21:00 [只看该作者]

Dim i As Integer = 0
Dim dr As Row = Tables("发外加工计划表").AddNew
Dim rs As List(of Row) = Tables("发外加工计划表").GetCheckedRows

If rs.Count > 0 Then
    dr("订单编号") = rs(0)("订单编号")
    dr("外加工厂商") = rs(0)("外加工厂商")
    dr("订单客户") = rs(0)("订单客户")
    dr("品名") = rs(0)("品名")
    dr("加工类型") = rs(0)("加工类型")
    dr("发外重量") = rs(0)("发外重量")
    dr.Save
    For i As Integer = 1 To rs.Count - 1
        If rs(i)("外加工厂商") = dr("外加工厂商") And rs(i)("订单客户") = dr("订单客户") And rs(i)("品名") = dr("品名") And rs(i)("加工类型") = dr("加工类型") Then
            dr("订单编号") = dr("订单编号") & rs(i)("订单编号") & ","
            dr("发外重量") = dr("发外重量") + rs(i)("发外重量")
        End If
    Next
End If

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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/11/24 15:08:00 [只看该作者]

老师,报错


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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/11/24 15:23:00 [只看该作者]

Dim i As Integer = 0删除就可以了

 回到顶部