Foxtable(狐表)用户栏目专家坐堂 → 按日/周/月/季,如何设置汇总


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

主题:按日/周/月/季,如何设置汇总

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


加好友 发短信
等级:幼狐 帖子:125 积分:1140 威望:0 精华:0 注册:2012/11/17 9:34:00
按日/周/月/季,如何设置汇总  发帖心情 Post By:2013/12/5 18:14:00 [只看该作者]

狐爸您好,首先感谢你们的产品,

现有如下问题,烦请帮手

 

数据是从K3导出后,进行相对应的汇总,烦请您帮手写下代码,感谢您


图片点击可在新窗口打开查看此主题相关图片如下:未标题-1.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日周月季汇总项目.table


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


加好友 发短信
等级:一尾狐 帖子:431 积分:3214 威望:0 精华:2 注册:2011/9/10 21:35:00
  发帖心情 Post By:2013/12/5 18:32:00 [只看该作者]

就是统计的时候,那个枚举的参数改一下,改一下,改一下。。。。。。。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/5 19:48:00 [只看该作者]

 做了 月和季 的统计,其余的你照着改


Dim d As Date = e.Form.Controls("DateTimePicker1").value
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim dt1 As New Date(y, m, 1) '按月统计
Dim q As Integer = math.Ceiling(d.month / 3)
Dim dt2 As New Date(y, 3 * (q - 1) + 1, 1) '获取该季度的第一天
Dim dt3 As New Date(y, 3 * q, Date.DaysInMonth(2011,3 * q)) '获取该季度的最后一天
Dim filter As String = ""
DataTables("汇总").StopRedraw
DataTables("汇总").DataRows.Clear
For Each xh As String In DataTables("库存流水帐").GetValues("型号", "型号 is not null")
    Dim ndr As DataRow = DataTables("汇总").AddNew
    ndr("型号") = xh
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt1 & "# and 时间 < #" & dt1.AddMonths(1) & "#"
    ndr("入库统计_本月累计入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
    ndr("出库统计_本月累计出库") = DataTables("库存流水帐").Compute("sum(出库数量)", filter)
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt2 & "# and 时间 < #" & dt3.AddDays(1) & "#"
    ndr("入库统计_本季累计入库") = DataTables("库存流水帐").Compute("sum(出库数量)", filter)
Next
DataTables("汇总").ResumeRedraw

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/12/6 8:10:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:125 积分:1140 威望:0 精华:0 注册:2012/11/17 9:34:00
  发帖心情 Post By:2013/12/6 9:47:00 [只看该作者]

感谢您的帮助,但是我还是不能搞定它,

还有以下几点不明,烦请赐教。

 

1、“当日”的代码不知是哪条

2、“当月”汇总,没问题

3、“当季”汇总时,有问题,因为我选择任意月份时,它都会出现,(原表中,只有2013年11月份),我选择12月份时,它应该是空的才对

4、麻烦您在写好后,每条加点说明(就是那灰色文字说明),以方便我能理解,

 

万分感谢您

 

(另有一问,这是我司销售部要使用的,那数据是从K3系统导出的好大哦,将来能不用这个软件,做好这样的分析(我是市场部,使用的数据比他们小多了),


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/6 10:00:00 [只看该作者]

按日的话直接就判断等于当天即可.

时段筛选不应该有什么难度,照着帮助做就可以了http://www.foxtable.com/help/topics/2720.htm

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


加好友 发短信
等级:幼狐 帖子:125 积分:1140 威望:0 精华:0 注册:2012/11/17 9:34:00
  发帖心情 Post By:2013/12/6 10:59:00 [只看该作者]

烦请帮手看看:

 

Dim d As Date = e.Form.Controls("DateTimePicker1").value
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim dt1 As New Date(y, m, 1) '按月统计

Dim q As Integer = math.Ceiling(d.month / 3)'本面三行是季度条件
Dim dt2 As New Date(y, 3 * (q - 1) + 1, 1) '获取该季度的第一天
Dim dt3 As New Date(y, 3 * q, Date.DaysInMonth(2011,3 * q)) '获取该季度的最后一天

Dim w As Integer =  Date.Today.DayOfWeek  '算出今天是星期几, 这三行是周条件
Dim dt4 As Date =  Date.Today.AddDays(-w)  '获取本周的第一天
Dim dt5 As Date =  Date.Today.AddDays(6 -  w)  '获取本周的最后一天

Dim dt6 As  New  Date(y,  1,  1) '本二行是日条件
Dim dt7 As  New  Date(y,  12,  31)

Dim filter As String = ""
DataTables("汇总").StopRedraw
DataTables("汇总").DataRows.Clear
For Each xh As String In DataTables("库存流水帐").GetValues("型号", "型号 is not null")
    Dim ndr As DataRow = DataTables("汇总").AddNew
    ndr("型号") = xh
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt1 & "# and 时间 < #" & dt1.AddMonths(1) & "#"
    ndr("入库统计_本月累计入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
    ndr("出库统计_本月累计出库") = DataTables("库存流水帐").Compute("sum(出库数量)", filter)
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt2 & "# and 时间 < #" & dt3.AddDays(1) & "#"
    ndr("入库统计_本季累计入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt4 & "# and 时间 < #" & dt5 & "#"
    ndr("入库统计_本周累计入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
    filter = "型号 = '" & xh & "' and 时间 = #" & dt6 & "# and 时间 = #" & dt7  & "#"
    ndr("入库统计_本日入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
   
   
Next
DataTables("汇总").ResumeRedraw

 

 

“本日入库”“与本周累计入库”,执行没结果,您看看是哪儿出了错了,

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/12/6 11:09:00 [只看该作者]

我把当日的也写好了:
 
 
Dim d As Date = e.Form.Controls("DateTimePicker1").value
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim dt1 As New Date(y, m, 1) '按月统计
Dim q As Integer = math.Ceiling(d.month / 3)
Dim dt2 As New Date(y, 3 * (q - 1) + 1, 1) '获取该季度的第一天
Dim dt3 As New Date(y, 3 * q, Date.DaysInMonth(2011,3 * q)) '获取该季度的最后一天
Dim filter As String = ""
DataTables("汇总").StopRedraw
DataTables("汇总").DataRows.Clear
For Each xh As String In DataTables("库存流水帐").GetValues("型号", "型号 is not null")
    Dim ndr As DataRow = DataTables("汇总").AddNew
    ndr("型号") = xh
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt1 & "# and 时间 < #" & dt1.AddMonths(1) & "#"
    ndr("入库统计_本月累计入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
    ndr("出库统计_本月累计出库") = DataTables("库存流水帐").Compute("sum(出库数量)", filter)
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt2 & "# and 时间 < #" & dt3.AddDays(1) & "#"
    ndr("入库统计_本季累计入库") = DataTables("库存流水帐").Compute("sum(出库数量)", filter)
    filter = "型号 = '" & xh & "' and 时间 = #" & d & "#"
    ndr("入库统计_本日入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
    ndr("出库统计_当日出库") = DataTables("库存流水帐").Compute("sum(出库数量)", filter)
Next
DataTables("汇总").ResumeRedraw


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/12/6 11:15:00 [只看该作者]

本周的也加上了:

 

Dim d As Date = "11/1/2013"  '这是你输入的日期
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim w As Integer = d.DayOfWeek '算出今天是星期几
Dim dt1 As New Date(y, m, 1) '按月统计
Dim q As Integer = math.Ceiling(d.month / 3)
Dim dt2 As New Date(y, 3 * (q - 1) + 1, 1) '获取该季度的第一天
Dim dt3 As New Date(y, 3 * q, Date.DaysInMonth(2011,3 * q)) '获取该季度的最后一天
Dim dt4 As Date = d.AddDays(-w) '获取本周的第一天
Dim dt5 As Date = d.AddDays(6 - w) '获取本周的最后一天
Dim filter As String = ""
DataTables("汇总").StopRedraw
DataTables("汇总").DataRows.Clear
For Each xh As String In DataTables("库存流水帐").GetValues("型号", "型号 is not null")
    Dim ndr As DataRow = DataTables("汇总").AddNew
    ndr("型号") = xh
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt1 & "# and 时间 < #" & dt1.AddMonths(1) & "#"
    ndr("入库统计_本月累计入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
    ndr("出库统计_本月累计出库") = DataTables("库存流水帐").Compute("sum(出库数量)", filter)
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt2 & "# and 时间 < #" & dt3.AddDays(1) & "#"
    ndr("入库统计_本季累计入库") = DataTables("库存流水帐").Compute("sum(出库数量)", filter)
    filter = "型号 = '" & xh & "' and 时间 = #" & d & "#"
    ndr("入库统计_本日入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
    ndr("出库统计_当日出库") = DataTables("库存流水帐").Compute("sum(出库数量)", filter)
    filter = "型号 = '" & xh & "' and 时间 >= #" & dt4 & "# and 时间 <= #" & dt5 & "#"
    ndr("入库统计_本周累计入库") = DataTables("库存流水帐").Compute("sum(入库数量)", filter)
Next
DataTables("汇总").ResumeRedraw


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


加好友 发短信
等级:幼狐 帖子:125 积分:1140 威望:0 精华:0 注册:2012/11/17 9:34:00
  发帖心情 Post By:2013/12/6 11:24:00 [只看该作者]

图片点击可在新窗口打开查看感谢狐爸,

再次感谢。

 

 

估计我以为要可能会更多的麻烦您了,

因为,我这是给销售中心帮忙搞的,因为我用狐表来管理市场费用状态,结果被那儿的老总看中,让偶给他们也搞一搞。

 

当然,若是他们满意的话,让他们买套开发版(他们有钱,图片点击可在新窗口打开查看

 

在次感谢您,感谢狐表!!!!!!!!


 回到顶部