Foxtable(狐表)用户栏目专家坐堂 → 遍历统计工具,组合统计


  共有3311人关注过本帖平板打印复制链接

主题:遍历统计工具,组合统计

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
遍历统计工具,组合统计  发帖心情 Post By:2016/8/1 10:17:00 [只看该作者]


此主题相关图片如下:13.png
按此在新窗口浏览图片

三个统计表,如上,想根据不同的选择情况进行组合统计。

不想分别做三个统计工具,而是想用比如 遍历 的方式 来 根据勾选的情况 ,进行 遍历统计 再 组合。

现在不知道 遍历 统计  怎么写。。。 

 


Dim dt3 As fxDataSource
Dim dt2 As fxDataSource
Dim dt1 As fxDataSource

 

Dim m As String

If  e.Form.Controls("CheckBox8").checked  Then

m = "陈列量"

end if

If  e.Form.Controls("CheckBox9").checked  Then

m = "动销量"

end if

 

If  e.Form.Controls("CheckBox10").checked  Then

m = "库位销售分析"

end if


Dim bdns As String() = {"bd1","bd2","bd3"}
For Each bdn As String In bdns
    

       
    Dim bdn As New SQLcrossTableBuilder("统计表3",m)
   
    bdn.C
    bdn.HGroups.AddDef("门店") '添加客户列用于水平分组
    bdn.HGroups.AddDef("库位") '添加客户列用于水平分组    
    bdn.vGroups.AddDef("调整期间","调整期间_{0}") '添加客户列用于水平分组
   
    If  e.Form.Controls("CheckBox8").checked  Then    '统计陈列量这张表
        forms("提示窗口").Controls("Label1").text = "正在统计陈列sku数..."
        Application.DoEvents
        bdn.Totals.AddDef("陈列量","陈列sku数") '添加数量列用于统计
        bdn.Totals.AddDef("陈列量","陈列sku数") '添加数量列用于统计
        bdn.filter = filter
        dt3 = bdn.BuildDataSource()
    End If
   
    If  e.Form.Controls("CheckBox9").checked  Then
        forms("提示窗口").Controls("Label1").text = "正在统计动销sku数..."
        Application.DoEvents
        bdn.Totals.AddDef("动销量","动销sku数") '添加数量列用于统计
        bdn.Totals.AddDef("动销量","动销sku数") '添加数量列用于统计
        bdn.filter = filter
        bdn.CommandTimeOut = 600
        dt2 = bdn.BuildDataSource()
    End If
   
    If e.Form.Controls("CheckBox10").checked Then
        bdn.Totals.AddDef("销售数量","销售件数") '添加数量列用于统计        
        If filter2 >"" Then
            filter =filter & " And " & filter2
        End If
        bdn.filter = filter
        bdn.CommandTimeOut = 600
        dt1 = bdn.BuildDataSource()               
    End If
Next

 

For Each c As Object In e.Form.controls("groupbox3").children
    If c.checked Then
        ls.add(c.text)
    End If
Next
Dim nms As String() = ls.ToArray


Dim dts() As fxDataSource = {dt3,dt2,dt1}
Dim pdt As fxDataSource = Nothing
For Each dt As object In dts
    If pdt Is Nothing AndAlso dt IsNot Nothing Then
        pdt = dt
    Else
        If pdt IsNot Nothing AndAlso dt IsNot Nothing Then
            pdt.Combine(nms,dt,nms)
        End If
    End If
Next

Tables(e.Form.Name & "_table1").StopRedraw
Tables(e.Form.Name & "_table1").DataSource = pdt


[此贴子已经被作者于2016/8/1 10:19:35编辑过]

 回到顶部
总数 26 1 2 3 下一页