以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77860)

--  作者:陈卫
--  发布时间:2015/11/26 16:03:00
--  [求助]关于统计

您好专家:

      我希望在表“ b ”中每天自动输入表“ a ”的一些数据:在表“ b ”中的“完成数量_工位s”中统计表“a”中含有s编号的设备完成数量,在表“ b ”中的“完成数量_工位d”中统计表“a”中含有d编号的设备完成数量。

表“a”:
此主题相关图片如下:11119.bmp
按此在新窗口浏览图片

表“b”:
此主题相关图片如下:11121.bmp
按此在新窗口浏览图片

我在“b”的表事件datacolchanged中编写如下代码:

Select Case e.DataCol.Name    
    Case "合同编号","日期"
        Dim dc As DataRow = e.DataRow
        Dim pc As DataRow
        Dim filter1 As String
        filter1 = "合同编号 = \'" & dc("合同编号") & "\' And 日期 = \'" & dc("日期") & "\'"
        pc = DataTables("a").Find(filter1)
        If pc IsNot Nothing Then

 

到这里就不知道该如何编码了,下面想要实现:在表“a”中找到s1、s2、s3,然后把对应“完成数量”列中的数据合计到表“b”中"完成数量_工序s"列的对应行中。在表“a”中找到d1、d2、d3,然后把对应“完成数量”列中的数据合计到表“b”中"完成数量_工序d"列的对应行中。

 我想套用分组统计的编码:

 

Dim g As New SubtotalGroup \'定义一个新的分组
g.Aggregate = AggregateEnum.Sum
\'统计类型为求和
g.GroupOn =
"客户" \'分组列为客户列
g.TotalOn =
"数量,金额" \'对数量和金额进行统计
g.Caption =
"{0} 小计" \'设置标题
With
Tables("订单")
    .SubtotalGroups.Clear()
\'清除原有的分组
    .SubtotalGroups.Add(g)
\'加入刚刚定义的分组
  
 .Subtotal() \'生成汇总模式
End
With

 

怎么修改编码呢?


--  作者:Hyphen
--  发布时间:2015/11/26 16:19:00
--  
Select Case e.DataCol.Name
    Case "合同编号","日期"
        Dim dc As DataRow = e.DataRow
       
        Dim filter1 As String
        filter1 = "合同编号 = \'" & dc("合同编号") & "\' And 日期 = \'" & dc("日期") & "\' and 设备 like \'s%\'"
        Dim s = DataTables("a").Compute("SUM(完成数量)",filter1 )
        dc("完成数量_工序s") = s
        filter1 = "合同编号 = \'" & dc("合同编号") & "\' And 日期 = \'" & dc("日期") & "\' and 设备 like \'d%\'"
        Dim d = DataTables("a").Compute("SUM(完成数量)",filter1 )
        dc("完成数量_工序d") = d
End Select