在设计一个进销存系统,里面有到了组合多个统计结果功能,后续增加的几个表达式列想移动到适当位置显示,但不知道怎么做,请求大家帮助。
代码如下: Dim bd4 As New GroupTableBuilder("统计表4",DataTables("商品编码表"))
Dim dt4 As fxDataSource
bd4.Groups.AddDef("商品编码") '根据型号分组
bd4.Groups.AddDef("商品名称")
bd4.Groups.AddDef("商品单价1")
bd4.Groups.AddDef("包装方式")
bd4.Groups.AddDef("一级类别")
bd4.Groups.AddDef("二级类别")
dt4 = bd4.BuildDataSource()
Dim bd2 As New GroupTableBuilder("统计表2",DataTables("盘点明细表"))
Dim dt2 As fxDataSource
bd2.filter="[盘点日期]= #" & Cstr(qcrq) & "#"
bd2.Groups.AddDef("商品编码") '根据型号分组
'bd2.Groups.AddDef("商品名称")
bd2.Totals.AddDef("盘存数量","期初_数量") '对数量进行统计
dt2 = bd2.BuildDataSource()
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("进货明细表"))
Dim dt1 As fxDataSource
bd1.filter="[进货日期]>= #" & Cstr(comb_list_date1.value) & "# And [进货日期]<= # "& cstr(comb_list_date2.value) &"#"
bd1.Groups.AddDef("商品编码") '根据型号分组
'bd1.Groups.AddDef("商品名称")
bd1.Totals.AddDef("进货数量","进货_数量") '对数量进行统计
dt1 = bd1.BuildDataSource()
Dim bd3 As New GroupTableBuilder("统计表3",DataTables("盘点明细表"))
Dim dt3 As fxDataSource
bd3.filter="[盘点日期]= #" & Cstr(comb_list_date2.value) & "#"
bd3.Groups.AddDef("商品编码") '根据型号分组
'bd3.Groups.AddDef("商品名称")
bd3.Totals.AddDef("盘存数量","期末_数量") '对数量进行统计
dt3 = bd3.BuildDataSource()
dt4.Combine("商品编码",dt2,"商品编码") '将销售统计数据组合到进货统计数据
dt4.Combine("商品编码",dt1,"商品编码") '将退货统计数据组合到进货统计数据
dt4.Combine("商品编码",dt3,"商品编码") '将销售统计数据组合到进货统计数据
Tables("进销存报表_Table1").DataSource = dt4 '将统计结果绑定到Table
DataTables("进销存报表_Table1").DeleteFor("期初_数量 is null and 进货_数量 is null and 期末_数量 is null")
With DataTables("进销存报表_Table1").DataCols '用表达式列计算库存数据
.Add("销售_数量",Gettype(Single), "IsNull([期初_数量],0) + ISNULL([进货_数量],0) - ISNULL([期末_数量],0)")
.Add("销售_金额",Gettype(Single), "IsNull([销售_数量],0)*[商品单价1]")
.Add("期初_金额",Gettype(Single), "IsNull([期初_数量],0)*[商品单价1]")
.Add("期末_金额",Gettype(Single), "IsNull([期末_数量],0)*[商品单价1]")
End With
红色部分就是增加的表达式列,但不能移动上去,好难看啊