以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问:如何完成表中坯布统计报表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24935)

--  作者:lyfxybc
--  发布时间:2012/10/26 22:30:00
--  请问:如何完成表中坯布统计报表

如何完成表中坯布统计报表

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

 

表中有产量_本日,就是本日所有的产量之和,产量_累计就是前面本月内的产量之和。

[此贴子已经被作者于2012-10-26 22:38:02编辑过]

--  作者:szp2012
--  发布时间:2012/10/27 9:02:00
--  
本日是哪个日期,10-26?
--  作者:lyfxybc
--  发布时间:2012/10/27 9:25:00
--  

本日指当天,当天输入后,产量_本日累计栏累计当天的产量,产量_累计栏累计前面天数包括当天的产量,如今天为10月26日,有100个记录,把这100个记录累计后放在本日栏中,而前面10月1日-10月26日所有的记录累计放在累计栏中。


图片点击可在新窗口打开查看此主题相关图片如下:105.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:106.jpg
图片点击可在新窗口打开查看

 
图片点击可在新窗口打开查看此主题相关图片如下:107.jpg
图片点击可在新窗口打开查看

表中显示10月26日产量累计,今天10月27日,没输入,本日栏显示空白不累计。

[此贴子已经被作者于2012-10-27 9:29:53编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/10/27 9:41:00
--  

做个统计按钮,按钮代码为:

 

DataTables("坯布统计").DataRows.Clear() \'清除原来的数据
For Each nm As String In DataTables("坯布输入").GetUniqueValues("","产品名称")
    Dim dr  As DataRow = DataTables("坯布统计").AddNew()
    Dim ft As Date = new Date(Date.Today.Year,Date.Today.Month,1)
    dr("年") = Date.Today.Year
    dr("月") = Date.Today.Month
    dr("产品名称") = nm
    dr("长度_本日") = DataTables("坯布输入").compute("Sum(长度)","产品名称 = \'" & nm & "\' and 日期 = #" & Date.Today & "#")
    dr("长度_累计") = DataTables("坯布输入").compute("Sum(长度)","产品名称 = \'" & nm & "\' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
   dr("重量_本日") = DataTables("坯布输入").compute("Sum(重量)","产品名称 = \'" & nm & "\' and 日期 = #" & Date.Today & "#")
    dr("重量_累计") = DataTables("坯布输入").compute("Sum(重量)","产品名称 = \'" & nm & "\' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
Next


--  作者:lyfxybc
--  发布时间:2012/10/27 11:22:00
--  
非常感谢,已根据提示完成。
[此贴子已经被作者于2012-10-27 13:17:11编辑过]

--  作者:lyfxybc
--  发布时间:2012/10/27 13:23:00
--  
按钮制做完成后,输入数据后数据累计均正确,就是年、月光显示2012、10,不是坯布输入表中年、月栏中显示的数据。如日期输入2013-01-05输入,统计表中年、月也显示2012、10,请再帮助修改一下。
图片点击可在新窗口打开查看此主题相关图片如下:108.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:109.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2012/10/27 14:24:00
--  

你要统计的是本日本月。

如果不是本月,如何确定本日? 例如输入的是2012年9月份的数据,现在是10月份,如何确定9月份的本日?


--  作者:lyfxybc
--  发布时间:2012/10/27 16:17:00
--  

谢谢,我明白了你的意思,就是只统计该月的,但与我的理解不一样,因为根据公司月底盘点的日期为22日,23日以后为下一个月,这样统计表中显示的月份就不是本月,而是上一个月,如10月23日,按公式为10月,而产量应为11月,同理年也是一样,12月23日为下一年的一月,而不是本年的12月。

 

 


图片点击可在新窗口打开查看此主题相关图片如下:120.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:121.jpg
图片点击可在新窗口打开查看
图中的“月”栏显示的应为11月,而不是10月。
[此贴子已经被作者于2012-10-27 16:20:51编辑过]

--  作者:lin_hailun
--  发布时间:2012/10/27 16:25:00
--  
 那改一下代码就可以了吧。

 DataTables("坯布统计").DataRows.Clear() \'清除原来的数据
For Each nm As String In DataTables("坯布输入").GetUniqueValues("","产品名称")
    Dim dr  As DataRow = DataTables("坯布统计").AddNew()
    Dim ft As Date = new Date(Date.Today.Year,Date.Today.Month,1)
    dr("年") = dr("年")
    dr("月") = dr("月")

    dr("产品名称") = nm
    dr("长度_本日") = DataTables("坯布输入").compute("Sum(长度)","产品名称 = \'" & nm & "\' and 日期 = #" & Date.Today & "#")
    dr("长度_累计") = DataTables("坯布输入").compute("Sum(长度)","产品名称 = \'" & nm & "\' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
   dr("重量_本日") = DataTables("坯布输入").compute("Sum(重量)","产品名称 = \'" & nm & "\' and 日期 = #" & Date.Today & "#")
    dr("重量_累计") = DataTables("坯布输入").compute("Sum(重量)","产品名称 = \'" & nm & "\' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
Next

--  作者:狐狸爸爸
--  发布时间:2012/10/27 16:34:00
--  
DataTables("坯布统计").DataRows.Clear() \'清除原来的数据
For Each nm As String In DataTables("坯布输入").GetUniqueValues("","产品名称")
    Dim dr  As DataRow = DataTables("坯布统计").AddNew()
    Dim ft1 As Date = new Date(Date.Today.Year,Date.Today.Month,23)
    ft1= ft1.AddMonths(-1)
    Dim ft2 As Date = new Date(Date.Today.Year,Date.Today.Month,22)
    dr("年") = Date.Today.Year
    dr("月") = Date.Today.Month
    dr("产品名称") = nm
    dr("长度_本日") = DataTables("坯布输入").compute("Sum(长度)","产品名称 = \'" & nm & "\' and 日期 = #" & Date.Today & "#")
    dr("长度_累计") = DataTables("坯布输入").compute("Sum(长度)","产品名称 = \'" & nm & "\' and 日期 >= #" & ft1 & "# And 日期 <= #" & ft2 & "#")
   dr("重量_本日") = DataTables("坯布输入").compute("Sum(重量)","产品名称 = \'" & nm & "\' and 日期 = #" & Date.Today & "#")
    dr("重量_累计") = DataTables("坯布输入").compute("Sum(重量)","产品名称 = \'" & nm & "\' and 日期 >= #" & ft1 & "# And 日期 <= #" & ft2 & "#")
Next