Foxtable(狐表)用户栏目专家坐堂 → 不同类如何统计


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

主题:不同类如何统计

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


加好友 发短信
等级:四尾狐 帖子:931 积分:6173 威望:0 精华:0 注册:2019/6/13 9:57:00
不同类如何统计  发帖心情 Post By:2022/6/23 20:45:00 [只看该作者]

不同类如何统计

如何实现表A是从表B项目,数量,费用进行统计?


数量的值可以用“另一种自动更新方式”的代码来实现,但其中比例的值的统计,计算方法是不一样,如何实现?




表B

    项目                 数量       费用       日期
产品A销量          3000         1000         2022-5

产品B销量           4000        1000        2022-5 
    


另一种自动更新方式

假定统计表不单单要产品总销售数量,还要统计总的销售金额:

图片点击可在新窗口打开查看

首先将统计表的DataColChanged事件代码设置为:

If e.DataCol.Name = "产品" Then
    Dim
 Filter As String = "[产品] = '" & e.NewValue & "'"
    e.
DataRow("数量") = DataTables("订单").Compute("Sum(数量)", Filter)
    e.
DataRow("金额") = DataTables("订单").Compute("Sum(金额)", Filter)
End
 If



[此贴子已经被作者于2022/6/25 11:14:35编辑过]

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


加好友 发短信
等级:四尾狐 帖子:931 积分:6173 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/6/23 20:47:00 [只看该作者]

如何实现表A是从表B项目,数量,费用进行统计表A的“实际数量”和“实际费用”?

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:87724 积分:445175 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/23 21:20:00 [只看该作者]

计算规则是什么?举例说明一下,每一行的值是怎么计算的

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


加好友 发短信
等级:四尾狐 帖子:931 积分:6173 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/6/24 14:00:00 [只看该作者]


[此贴子已经被作者于2022/6/25 11:12:15编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:87724 积分:445175 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/24 14:19:00 [只看该作者]

没看懂,比如6000是怎么计算出来的,23%又是怎么计算出来的

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


加好友 发短信
等级:九尾狐 帖子:2587 积分:17585 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2022/6/24 14:30:00 [只看该作者]

用sql语句,把统计项目和预定数量预定单价生成一张临时表,在增加实际数量、实际费用列,然后在表B项目中查找相同的,把实际数量与实际费用填充进去


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


加好友 发短信
等级:四尾狐 帖子:931 积分:6173 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/6/24 18:17:00 [只看该作者]

老师,就是下面二个代码各自事件功能合并成功能,请老师,帮助处理一下,谢谢
If e.DataCol.Name = "项目" Then
    
    Dim Filter As String = "[项目] = '" & e.NewValue & "'And  [分类] <> '百分比'" 
    e.DataRow("实际数量") = DataTables("表F").Compute("Sum(数量)", Filter)
            
End If


If e.DataCol.Name = "项目" Then
    
    Dim Filter As String = "[项目] = '" & e.NewValue & "'And  [分类] = '百分比'" 
    e.DataRow("实际数量") = DataTables("表F").Compute("Avg(数量)", Filter)
            
End If


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:87724 积分:445175 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/25 9:05:00 [只看该作者]

If e.DataCol.Name = "项目" orelse e.DataCol.Name = "分类" Then
Dim Filter As String   = "[项目] = '" & e.DataRow("项目") & "'And  [分类] = '" & e.DataRow("分类") & "'" 
e.DataRow("实际数量") = DataTables("表F").Compute("Sum(数量)", Filter)    
End If

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


加好友 发短信
等级:四尾狐 帖子:931 积分:6173 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/6/25 9:29:00 [只看该作者]

A
[此贴子已经被作者于2022/6/25 11:13:13编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:87724 积分:445175 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/25 9:56:00 [只看该作者]

不就一个百分比,一个数值吗?还有第三种?

Dim Filter As String   = "[项目] = '" & e.DataRow("项目") & "'And  [分类] = '" & e.DataRow("分类") & "'" 
msgbox(Filter )

 回到顶部
总数 12 1 2 下一页