以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 按日/周/月/季,如何设置汇总 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43383) |
||||
-- 作者:发哥 -- 发布时间:2013/12/5 18:14:00 -- 按日/周/月/季,如何设置汇总 狐爸您好,首先感谢你们的产品, 现有如下问题,烦请帮手
数据是从K3导出后,进行相对应的汇总,烦请您帮手写下代码,感谢您 此主题相关图片如下:未标题-1.jpg
|
||||
-- 作者:yan2006l -- 发布时间:2013/12/5 18:32:00 -- 就是统计的时候,那个枚举的参数改一下,改一下,改一下。。。。。。。 |
||||
-- 作者:有点甜 -- 发布时间: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 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/12/6 8:10:00 -- 还可以看看: http://www.foxtable.com/help/topics/2720.htm
|
||||
-- 作者:发哥 -- 发布时间:2013/12/6 9:47:00 -- 感谢您的帮助,但是我还是不能搞定它, 还有以下几点不明,烦请赐教。
1、“当日”的代码不知是哪条 2、“当月”汇总,没问题 3、“当季”汇总时,有问题,因为我选择任意月份时,它都会出现,(原表中,只有2013年11月份),我选择12月份时,它应该是空的才对 4、麻烦您在写好后,每条加点说明(就是那灰色文字说明),以方便我能理解,
万分感谢您
(另有一问,这是我司销售部要使用的,那数据是从K3系统导出的好大哦,将来能不用这个软件,做好这样的分析(我是市场部,使用的数据比他们小多了), |
||||
-- 作者:Bin -- 发布时间:2013/12/6 10:00:00 -- 按日的话直接就判断等于当天即可. 时段筛选不应该有什么难度,照着帮助做就可以了http://www.foxtable.com/help/topics/2720.htm
|
||||
-- 作者:发哥 -- 发布时间:2013/12/6 10:59:00 -- 烦请帮手看看:
Dim d As Date = e.Form.Controls("DateTimePicker1").value Dim q As Integer = math.Ceiling(d.month / 3)\'本面三行是季度条件 Dim w As Integer = Date.Today.DayOfWeek \'算出今天是星期几, 这三行是周条件 Dim dt6 As New Date(y, 1, 1) \'本二行是日条件 Dim filter As String = ""
“本日入库”“与本周累计入库”,执行没结果,您看看是哪儿出了错了,
|
||||
-- 作者:狐狸爸爸 -- 发布时间: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 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/12/6 11:15:00 -- 本周的也加上了:
Dim d As Date = "11/1/2013" \'这是你输入的日期 |
||||
-- 作者:发哥 -- 发布时间:2013/12/6 11:24:00 -- 感谢狐爸, 再次感谢。
估计我以为要可能会更多的麻烦您了, 因为,我这是给销售中心帮忙搞的,因为我用狐表来管理市场费用状态,结果被那儿的老总看中,让偶给他们也搞一搞。
当然,若是他们满意的话,让他们买套开发版(他们有钱,)
在次感谢您,感谢狐表!!!!!!!! |