Foxtable(狐表)用户栏目专家坐堂 → 统计转移


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

主题:统计转移

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/3 18:31:00 [显示全部帖子]

以下是引用yangwenghd在2016/11/3 17:59:00的发言:
Dim minDate As Date = iif(minDD<minZC, minDD, minZC)
Dim maxDate As Date = iif(maxDD>maxZC, maxDD, maxZC)
这段是什么意思啊  感谢 感谢 

 

获取需要统计的年月。获取订单的最大最小年月,获取支出的最大最小年月,得到两者的最大最小年月。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/4 9:02:00 [显示全部帖子]

Dim dt_tj As DataTable = DataTables("统计")
Dim dt_dd As DataTable = DataTables("订单")
Dim dt_zc As DataTable = DataTables("支出")

For Each ndr As DataRow In dt_tj.Select("")
    Dim i As Integer = ndr("年份")
    Dim j As Integer = ndr("月份")
    If i > 0 AndAlso j > 0 Then
        Dim d As Date = new Date(i, j, 1)
        Dim filter As String = "订单日期 >= #" & d & "# and 订单日期 < #" & d.AddMonths(1) & "#"
        ndr("订单_数量") = val(dt_dd.compute("sum(数量)", filter))
        ndr("订单_价格") = val(dt_dd.compute("sum(价格)", filter))
        Dim fdr As DataRow = dt_dd.Find(filter, "订单日期 desc")
        If fdr IsNot Nothing Then
            ndr("订单_预留价格") = fdr("预留价格")
        Else
            ndr("订单_预留价格") = 0
        End If
        filter = "支出日期 >= #" & d & "# and 支出日期 < #" & d.AddMonths(1) & "#"
        ndr("支出_数量") = val(dt_zc.compute("sum(次数)", filter))
        ndr("支出_单价") = val(dt_zc.compute("sum(单价)", filter))
        fdr = dt_zc.Find(filter, "支出日期 desc")
        If fdr IsNot Nothing Then
            ndr("支出_预留单价") = fdr("预留单价")
        Else
            ndr("支出_预留单价") = 0
        End If
    Else
        ndr("订单_数量") = 0
        ndr("订单_价格") = 0
        ndr("订单_预留价格") = 0
        ndr("支出_数量") = 0
        ndr("支出_单价") = 0
        ndr("支出_预留单价") = 0
    End If
Next

[此贴子已经被作者于2016/11/4 9:50:29编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/4 9:50:00 [显示全部帖子]

 既然你统计表已经有年月数据,这段删除掉

 

Dim minDD As Date = dt_dd.compute("min(订单日期)")
Dim minZC As Date = dt_zc.compute("min(支出日期)")
Dim maxDD As Date = dt_dd.compute("max(订单日期)")
Dim maxZC As Date = dt_zc.compute("max(支出日期)")
Dim minDate As Date = iif(minDD<minZC, minDD, minZC)
Dim maxDate As Date = iif(maxDD>maxZC, maxDD, maxZC)

[此贴子已经被作者于2016/11/4 9:49:51编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/4 11:27:00 [显示全部帖子]

以下是引用yangwenghd在2016/11/4 11:05:00的发言:
 
每个被复制的表的月份的每月都必须是有的吗?不然就不能复制哈

 

Dim d As Date = Date.Today
For Each ndr As DataRow In dt_tj.Select("年份 = " & d.Year & " and 月份 < " & d.Month)
 
 

 回到顶部