Foxtable(狐表)用户栏目专家坐堂 → 根据统计表后动态增加的列 的值 设置 加载条件


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

主题:根据统计表后动态增加的列 的值 设置 加载条件

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
根据统计表后动态增加的列 的值 设置 加载条件  发帖心情 Post By:2016/7/16 22:18:00 [只看该作者]

        Dim bd1 As New SQLCrossTableBuilder("统计表1","销售明细")
        Dim dt1 As fxDataSource
        bd1.C
        bd1.HGroups.AddDef("货号") '添加客户列用于水平分组
        bd1.VGroups.AddDef("销售日期",DateGroupEnum.week,"{0}周销量") '添加日期列用于垂直分组,按月分组
        bd1.Totals.AddDef("销售数量") '添加数量列用于统计
        If Filter >"" Then           
            bd1.Filter = filter 

        End If        
        dt1 = bd1.BuildDataSource()
       
       
        Dim bd2 As New SQLgroupTableBuilder("统计表2","销售明细")
        Dim dt2  As fxDataSource
        bd2.C
        bd2.Groups.AddDef("货号") '添加客户列用于水平分组
        bd2.Totals.AddDef("销售数量","累计销量") '添加数量列用于统计
        bd2.Filter = filter
        dt2 = bd2.BuildDataSource()      
                
      Dim bd3 As New SQLgroupTableBuilder("统计表3","截止库存")
        Dim dt3  As fxDataSource
        bd3.C
        bd3.Groups.AddDef("货号") '添加客户列用于水平分组
        bd3.Totals.AddDef("可用库存") '添加数量列用于统计
        bd3.Filter = filter2
        dt3 = bd3.BuildDataSource()
              

Dim nms1 As String() = {"货号"} '指定连接列
Dim nms2 As String() = {"货号"} '指定连接列
dt1.Combine(nms1,dt2,nms2) '将退货统计数据组合到进货统计数据

Dim nms3 As String() = {"货号"} '指定连接列
Dim nms4 As String() = {"货号"} '指定连接列
dt1.Combine(nms3,dt3,nms4) '将退货统计数据组合到进货统计数据        
                
        Tables(e.Form.Name & "_table1").DataSource = dt1
        
        
        DataTables(e.Form.Name & "_table1").DataCols.Add("前两周平均销量",Gettype(Single))
        DataTables(e.Form.Name & "_table1").DataCols.Add("可续销周数",Gettype(Single))
       
        For Each dr As DataRow In DataTables(e.Form.Name & "_table1").DataRows
           
            dr("前两周平均销量") = (dr("销售数量_1") + dr("销售数量_2"))  / 2
            If dr("前两周平均销量") <> 0 Then
                dr("可续销周数") = dr("可用库存")   / dr("前两周平均销量")
            Else
                dr("可续销周数") = dr("可用库存")
            End If
        Next

 

这是窗口统计表,要设一个 可续销周数 >2 的加载条件。

那这个 dr("可续销周数")   是统计后才计算出来的,不是在统计表里的条件。要怎么写这个代码呢?

[此贴子已经被作者于2016/7/16 22:20:11编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/7/18 8:37:00 [只看该作者]

最后再加一行代码,删除不符合条件的行:
 DataTables(e.Form.Name & "_table1").Removefor(“可续销周数 <= 2”)

 回到顶部