以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]按年统计消费额度  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108135)

--  作者:183966998
--  发布时间:2017/10/17 10:15:00
--  [求助]按年统计消费额度
请教各位老师,我有一张表,包含了多笔不同年的消费记录,字段有客户名,消费日期,消费金额,消费类型. 我需要统计出每个客户每年消费的总额 该怎么做?是通过表达式?我在帮助里面找到了金额的统计,但是怎么按年来区分没看见. 谢谢各位懂的老师指导一二
--  作者:有点甜
--  发布时间:2017/10/17 10:20:00
--  

分组统计即可

 

http://www.foxtable.com/webhelp/scr/0158.htm

 


--  作者:183966998
--  发布时间:2017/10/17 10:25:00
--  
嗯嗯,刚刚我也看见了,谢谢老师
--  作者:183966998
--  发布时间:2017/10/17 10:33:00
--  
以下是引用有点甜在2017/10/17 10:20:00的发言:

分组统计即可

 

http://www.foxtable.com/webhelp/scr/0158.htm

 

老师如过我需要在窗口界面显示每个客户对应的年消费是用代码还是通过生成的统计表,把统计表的字段放在窗口中?
--  作者:有点甜
--  发布时间:2017/10/17 11:03:00
--  
以下是引用183966998在2017/10/17 10:33:00的发言:

老师如过我需要在窗口界面显示每个客户对应的年消费是用代码还是通过生成的统计表,把统计表的字段放在窗口中?

 

拷贝生成统计表的代码出来,把生成的表格显示到窗口table控件去。

 

http://www.foxtable.com/webhelp/scr/1778.htm

 

http://www.foxtable.com/webhelp/scr/2670.htm

 


--  作者:183966998
--  发布时间:2017/10/17 11:15:00
--  
以下是引用有点甜在2017/10/17 11:03:00的发言:

 

拷贝生成统计表的代码出来,把生成的表格显示到窗口table控件去。

 

http://www.foxtable.com/webhelp/scr/1778.htm

 

http://www.foxtable.com/webhelp/scr/2670.htm

 

嗯嗯,好的,谢谢老师
--  作者:183966998
--  发布时间:2017/10/18 13:51:00
--  
以下是引用有点甜在2017/10/17 11:03:00的发言:

 

拷贝生成统计表的代码出来,把生成的表格显示到窗口table控件去。

 

http://www.foxtable.com/webhelp/scr/1778.htm

 

http://www.foxtable.com/webhelp/scr/2670.htm

 

老师,按照您给的帮助例子,怎么最后提示不存的table的控件?
--  作者:有点甜
--  发布时间:2017/10/18 14:07:00
--  
以下是引用183966998在2017/10/18 13:51:00的发言:

老师,按照您给的帮助例子,怎么最后提示不存的table的控件?

 

1、贴出你写的代码;

 

2、你窗口上加入table控件了没有?你窗口打开了没有?


--  作者:183966998
--  发布时间:2017/10/18 21:50:00
--  
以下是引用有点甜在2017/10/18 14:07:00的发言:

 

1、贴出你写的代码;

 

2、你窗口上加入table控件了没有?你窗口打开了没有?

老师再次麻烦您 如果通过老师你给的方法好像是在一个窗口加一个table控件,但是这个控件是个表格,我想要的是一个在一个文本框里面显示当年的消费额度,后来我通过在主表加入的一个列,通过跨表引用的方式把分组统计出来的数据引用到主表上去,成功了,但是结果不正确,因为我在分组统计那里设置了一个区间日期,结果我主表上引用的数据不再我设置区间日期内的也一并显示在了 这是分组统计的代码 Dim g As New GroupTableBuilder("年**额度统计", DataTables("副卡_金卡**记录")) g.Filter = "[购买时间] >= #1/1/2017# And [购买时间]<= #12/31/2017#" g.Groups.AddDef("金卡号") g.Groups.AddDef("购买时间", DateGroupEnum.Year, "2017年") g.Totals.AddDef("消*额度") g.Build() MainTable = Tables("年消*度统计") 得到这样结果
此主题相关图片如下:屏幕快照 2017-10-18 21.44.05.png
按此在新窗口浏览图片
引用到主表之后得到的结果-----金卡号00008那行记录就是错误,不在我筛选日期之中的数据
此主题相关图片如下:屏幕快照 2017-10-18 21.45.28.png
按此在新窗口浏览图片
我在主表的事件中的代码 If e.DataCol.Name = "金卡号" Dim pr As DataRow If e.NewValue Is Nothing Then e.DataRow("消*额度") = Nothing Else pr = DataTables("年消*额度统计").Find("[金卡号] = " & e.NewValue) If pr IsNot Nothing Then e.DataRow("消*额度") = pr("消*额度") End If End If End If 不知道怎么代码是正常排版,我补充两个图 请老师指导一下,谢谢
此主题相关图片如下:屏幕快照 2017-10-18 21.53.58.png
按此在新窗口浏览图片

此主题相关图片如下:屏幕快照 2017-10-18 21.54.14.png
按此在新窗口浏览图片
[此贴子已经被作者于2017/10/18 21:55:23编辑过]

--  作者:有点甜
--  发布时间:2017/10/18 22:41:00
--  

用跨表统计的方式,参考

 

http://www.foxtable.com/webhelp/scr/1454.htm

 

统计的时候,加上日期条件,如

 

e.DataRow("数量") = DataTables("订单").Compute("Sum(数量)","[产品] = \'" & e.NewValue & "\' and [购买时间] >= #1/1/2017# And [购买时间]<= #12/31/2017#")

[此贴子已经被作者于2017/10/18 22:41:09编辑过]