以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  不同类如何统计  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=178222)

--  作者:lgz518
--  发布时间: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
--  发布时间:2022/6/23 20:47:00
--  
如何实现表A是从表B项目,数量,费用进行统计表A的“实际数量”和“实际费用”?
--  作者:有点蓝
--  发布时间:2022/6/23 21:20:00
--  
计算规则是什么?举例说明一下,每一行的值是怎么计算的
--  作者:lgz518
--  发布时间:2022/6/24 14:00:00
--  

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

--  作者:有点蓝
--  发布时间:2022/6/24 14:19:00
--  
没看懂,比如6000是怎么计算出来的,23%又是怎么计算出来的
--  作者:cd_tdh
--  发布时间:2022/6/24 14:30:00
--  

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


--  作者:lgz518
--  发布时间: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


--  作者:有点蓝
--  发布时间: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
--  发布时间:2022/6/25 9:29:00
--  
A
[此贴子已经被作者于2022/6/25 11:13:13编辑过]

--  作者:有点蓝
--  发布时间:2022/6/25 9:56:00
--  
不就一个百分比,一个数值吗?还有第三种?

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