Foxtable(狐表)用户栏目专家坐堂 → 统计出错


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

主题:统计出错

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


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
统计出错  发帖心情 Post By:2016/1/13 15:28:00 [只看该作者]

求助,“年度总体预算”这表里的“所属单位”列删除之后是没有问题的,但因有其他用途,所以不能删除,如何修改代码

图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb



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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/13 17:28:00 [只看该作者]

貌似还不行
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb



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


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/14 9:30:00 [只看该作者]

“年度总体预算”这张表把“所属单位”这一列去掉,又是没问题的,只要加上这一列就会出错,有点晕

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/14 10:26:00 [只看该作者]

哦,可以了,谢谢Hyphen

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


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/15 11:33:00 [只看该作者]

求助,求加权平均,下述代码有问题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb

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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/15 15:23:00 [只看该作者]

求助大神啊

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/15 15:48:00 [只看该作者]

有点明白了,谢谢

 回到顶部