以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 统计出错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79991) |
||||
-- 作者:lgj716330 -- 发布时间:2016/1/13 15:28:00 -- 统计出错 求助,“年度总体预算”这表里的“所属单位”列删除之后是没有问题的,但因有其他用途,所以不能删除,如何修改代码 ![]() ![]() |
||||
-- 作者:Hyphen -- 发布时间:2016/1/13 17:04:00 -- 增加统计表没有的字段参考http://www.foxtable.com/help/topics/1428.htm Tables("窗口1_Table1").DataSource = dt1 \'将统计结果绑定到Table With DataTables("窗口1_Table1").DataCols \'用表达式列计算库存数据 .Add("库存_数量",Gettype(Integer), "IsNull([进货_数量],0) - ISNULL([销售_数量],0) - ISNULL([退货_数量],0)") .Add("库存_金额",Gettype(Double), "[库存_数量] /[进货_数量] * [进货_金额]") End With |
||||
-- 作者:lgj716330 -- 发布时间:2016/1/13 17:28:00 -- 貌似还不行 |
||||
-- 作者:lgj716330 -- 发布时间:2016/1/14 9:30:00 -- “年度总体预算”这张表把“所属单位”这一列去掉,又是没问题的,只要加上这一列就会出错,有点晕 |
||||
-- 作者:Hyphen -- 发布时间:2016/1/14 10:06:00 -- Dim Filter As String \'设置筛选条件 With e.Form.Controls("DW") If .Value IsNot Nothing Then Filter = "{部门档案}.所属单位 = \'" & .Value & "\'" End If End With Dim b As New SQLgroupTableBuilder("销售预算进度分析","部门损益总账") Dim dt1 As fxDataSource Dim d As Date = DataTables("部门损益总账").Compute("max(所属日期)") Dim d1 As Date = new Date(d.year, 1, 1) Dim d2 As Date = new Date(d.year, 12, 31) Dim filter1 = "所属日期 >= #" & d1 & "# and 所属日期 <= #" & d2 & "#" b.AddTable("部门损益总账","部门名称","部门档案","部门名称") b.AddTable("部门损益总账","科目编号","科目档案","科目编码") b.Groups.AddDef("{部门档案}.所属单位") b.Totals.AddDef("借方发生","销售实际") \'添加数量列用于统计 b.Decimals = 2 \'小数点取0位 b.Filter = "一级科目 = \'主营业务收入\' and 部门类型 = \'8批发客户\' and (" & filter & ") and (" & filter1 & ")" dt1 = b.BuildDataSource() b.Build \'生成统计表 .........
|
||||
-- 作者:lgj716330 -- 发布时间:2016/1/14 10:26:00 -- 哦,可以了,谢谢Hyphen |
||||
-- 作者:lgj716330 -- 发布时间:2016/1/15 11:33:00 -- 求助,求加权平均,下述代码有问题
DataTables("年度总体预算").DataCols.Add("毛利预算", Gettype(Double), "[毛利率预算] * [销售预算]") Dim bd2 As New SQLGroupTableBuilder("统计表2","年度总体预算") Dim dt2 As fxDataSource bd2.AddTable("年度总体预算","部门名称","部门档案","部门名称") bd2.Groups.AddDef("{部门档案}.所属单位") bd2.Totals.Adddef("毛利预算") bd2.Totals.AddDef("销售预算") bd2.Filter = "零售终端 = true and (" & filter & ")" dt2 = bd2.BuildDataSource() Dim nms As String() = {"所属单位"} dt1.Combine(nms,dt2,nms) dt1.Show("毛利率预算进度分析") \'显示统计结果 DataTables("毛利率预算进度分析").DataCols.Add("综合毛利率", Gettype(Double), "[毛利预算] / [销售预算]") [此贴子已经被作者于2016/1/15 14:16:05编辑过]
|
||||
-- 作者:lgj716330 -- 发布时间:2016/1/15 15:23:00 -- 求助大神啊 |
||||
-- 作者:Hyphen -- 发布时间:2016/1/15 15:42:00 -- Dim Filter As String \'设置筛选条件 With e.Form.Controls("DW") If .Value IsNot Nothing Then Filter = "{部门档案}.所属单位 = \'" & .Value & "\'" End If End With Dim b As New SQLcrossTableBuilder("毛利率预算进度分析","部门损益总账") Dim dt1 As fxDataSource Dim d As Date = DataTables("部门损益总账").Compute("max(所属日期)") Dim d1 As Date = new Date(d.year, 1, 1) Dim d2 As Date = new Date(d.year, 12, 31) Dim filter1 = "所属日期 >= #" & d1 & "# and 所属日期 <= #" & d2 & "#" b.AddTable("部门损益总账","部门名称","部门档案","部门名称") b.AddTable("部门损益总账","科目编号","科目档案","科目编码") b.hGroups.AddDef("{部门档案}.所属单位") b.vGroups.AddDef("一级科目") b.Totals.AddDef("借方发生") \'添加数量列用于统计 b.Decimals = 2 \'小数点取0位 b.Filter = "(一级科目 = \'主营业务收入\' or 一级科目 = \'主营业务成本\') And 零售终端 = true and (" & filter & ") and (" & filter1 & ")" dt1 = b.BuildDataSource() b.Build \'生成统计表 \'If DataTables("年度总体预算").DataCols.Contains("毛利预算") = False Then \'DataTables("年度总体预算").DataCols.Add("毛利预算", Gettype(Double), "[毛利率预算] * [销售预算]") \'End If Dim bd2 As New SQLGroupTableBuilder("统计表2","年度总体预算") Dim dt2 As fxDataSource bd2.AddTable("年度总体预算","部门名称","部门档案","部门名称") bd2.Groups.AddDef("{部门档案}.所属单位") bd2.Totals.AddExp("毛利预算","[毛利率预算] * [销售预算]") \'bd2.Totals.AddDef("毛利预算") bd2.Totals.AddDef("销售预算") bd2.Filter = "零售终端 = true and (" & filter & ")" dt2 = bd2.BuildDataSource() Dim nms As String() = {"所属单位"} dt1.Combine(nms,dt2,nms) dt1.Show("毛利率预算进度分析") \'显示统计结果 If DataTables("毛利率预算进度分析").DataCols.Contains("综合毛利率") = False Then DataTables("毛利率预算进度分析").DataCols.Add("综合毛利率", Gettype(Double), "[毛利预算] / [销售预算]") End If
|
||||
-- 作者:lgj716330 -- 发布时间:2016/1/15 15:48:00 -- 有点明白了,谢谢 |