以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何按月份汇总数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43256) |
-- 作者:tj-pacer -- 发布时间:2013/12/3 11:40:00 -- 如何按月份汇总数据 有生产表,各列为“生产工单”,“生产日期”,“生产数量", 在生产汇总表中有”生产工单”“生产数量”“月份”列,请教如何按月份汇总
在生产表datacolChanged写代码: Dim Amount As Double = e.DataTable.Compute("Sum(生产数量)","生产工单 = \'" & e.DataRow("生产工单") & "\'")
能汇总全部数据,但无法分月份,如何写代码将生产日期为同一月份的,将所属月份显示在生产汇总的“月份"列? 谢谢! |
-- 作者:sloyy -- 发布时间:2013/12/3 11:45:00 -- 兄弟 汇总表不是这样做的,建议看看帮助 |
-- 作者:Bin -- 发布时间:2013/12/3 11:46:00 -- http://www.foxtable.com/help/topics/00144.htm 设置汇总模式,点击查看代码,赋值下来即可.
|
-- 作者:tj-pacer -- 发布时间:2013/12/3 12:47:00 -- 谢谢!是我没表达清楚,不仅仅是汇总还要统计相同的定单,还要在其它的表统计很多的列,请按我的方案帮忙写一下代码,先谢了. |
-- 作者:Bin -- 发布时间:2013/12/3 14:20:00 -- 上例子,说清楚需求, 否则如何帮你写. |
-- 作者:tj-pacer -- 发布时间:2013/12/3 20:01:00 -- 是我问题没说清吗?请其他高手帮忙!!! |
-- 作者:有点甜 -- 发布时间:2013/12/3 20:08:00 -- 是这个意思? Dim d As Date = e.DataRow("生产日期") d = new Date(d.Year, d.Month, 1) Dim Amount As Double = e.DataTable.Compute("Sum(生产数量)","生产工单 = \'" & e.DataRow("生产工单") & "\' and 生产日期 >= #" & d & "# and 生产日期 < #" & d.AddMonths(1) & "#") Dim dr As DataRow dr = DataTables("生产汇总").Find("生产工单 = \'" & e.DataRow("生产工单") & "\'") If dr IsNot Nothing Then dr("生产数量") = Amount Else dr = DataTables("生产汇总").AddNew() dr("生产工单") = e.DataRow("生产工单") End If [此贴子已经被作者于2013-12-3 20:08:19编辑过]
|
-- 作者:tj-pacer -- 发布时间:2013/12/3 20:29:00 -- 以下是引用有点甜在2013-12-3 20:08:00的发言: Hi Thank you so much. I cannot test the code due to the database file is in company server. I will test the code tomorrow. I believe it is right code. By the way, I want to say that you contribute a lot to the forum. Some "host of the forum" or "expert" need improve their attitude.
是这个意思? Dim d As Date = e.DataRow("生产日期")
d = new Date(d.Year, d.Month, 1)
Dim Amount As Double = e.DataTable.Compute("Sum(生产数量)","生产工单 = \'" & e.DataRow("生产工单") & "\' and 生产日期 >= #" & d & "# and 生产日期 < #" & d.AddMonths(1) & "#")
Dim dr As DataRow
dr = DataTables("生产汇总").Find("生产工单 = \'" & e.DataRow("生产工单") & "\'")
If dr IsNot Nothing Then
dr("生产数量") = Amount
Else
dr = DataTables("生产汇总").AddNew()
dr("生产工单") = e.DataRow("生产工单")
End If [此贴子已经被作者于2013-12-3 20:08:19编辑过] |