Foxtable(狐表)用户栏目专家坐堂 → [求助]统计


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

主题:[求助]统计

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


加好友 发短信
等级:七尾狐 帖子:1711 积分:11421 威望:0 精华:0 注册:2015/6/22 8:11:00
[求助]统计  发帖心情 Post By:2018/1/14 22:06:00 [显示全部帖子]

老师,下面代码有什么地方不对吗?
If e.DataCol.name = "年份" OrElse e.DataCol.name = "来源"  OrElse e.DataCol.name = "商品名称"   Then
    If e.DataRow.Isnull("年份") = False AndAlso e.DataRow.Isnull("来源") =False AndAlso e.DataRow.Isnull("商品名称") =  False Then
        Dim filter1 As String = "来源 = '" & e.DataRow("来源") & "'"
        Dim filter2 As String = "来源 = '" & e.DataRow("来源") & "'"
        For i As Integer = 1 To 12
            Dim d As Date = new Date(val(e.DataRow("年份")), i, 1)
            Dim sum As Integer = DataTables("进销存").compute("sum(出库_金额)", filter1 & " and 日期 >= #" & d & "# and 日期 < #" & d.addmonths(1) & "#")
            Dim sum1 As Integer = DataTables("进销存").compute("sum(入库_金额)", filter2 & " and 日期 >= #" & d & "# and 日期 < #" & d.addmonths(1) & "#")
            'e.DataRow("M" & i) = sum
            
            e.DataRow("M" & i) = sum + sum1
        Next
    Else
        For i As Integer = 1 To 12
            e.DataRow("M" & i) = Nothing
        Next
    End If
End If

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


加好友 发短信
等级:七尾狐 帖子:1711 积分:11421 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/1/16 18:28:00 [显示全部帖子]

老师,我想把代码修改成只统计当年度的。


If e.DataCol.name = "年份" OrElse e.DataCol.name = "项目_类别"  OrElse e.DataCol.name = "项目_明细"   Then
    If e.DataRow.Isnull("年份") = False AndAlso e.DataRow.Isnull("项目类别") =False AndAlso e.DataRow.Isnull("项目明细") =  False Then
        Dim filter1 As String = "项目_类别 = '" & e.DataRow("项目类别") & "'"
        For i As Integer = 1 To 12
            Dim d As Date = new Date(val(e.DataRow("年份")), i, 1)
            Dim sum As Integer = DataTables("支出明细").compute("sum(支出_金额)", filter1 & " and 记录日期 >= #" & d & "# and 记录日期< #" & d.addmonths(1) & "#")
            e.DataRow("M" & i) = sum
        Next
    Else
        For i As Integer = 1 To 12
            e.DataRow("M" & i) = Nothing
        Next
    End If
End If

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


加好友 发短信
等级:七尾狐 帖子:1711 积分:11421 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/1/16 18:39:00 [显示全部帖子]

老师,17年的也能统计,我要统计18年度

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


加好友 发短信
等级:七尾狐 帖子:1711 积分:11421 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/1/16 21:37:00 [显示全部帖子]

老师,年份有16年有17年有18年的我想只统计本年度的也就是18年的。

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


加好友 发短信
等级:七尾狐 帖子:1711 积分:11421 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/1/16 21:56:00 [显示全部帖子]

在支出明细表中筛选出本年度的数据然后再统计

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


加好友 发短信
等级:七尾狐 帖子:1711 积分:11421 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/1/17 9:58:00 [显示全部帖子]

以下是引用有点甜在2018/1/17 9:11:00的发言:

 

你在【年份】列填入什么数据,就统计什么数据啊。你要统计18年,那你就填入 2018 即可。



老师,下面代码怎样引用本年度数据


Select Case e.DataCol.name

    Case "项目_类别","项目_明细"

        If e.DataRow.IsNull("项目_类别") = False AndAlso e.DataRow.IsNull("项目_类别") = False Then

            

            Dim dr61 As DataRow = DataTables("年度支出项目类别统计").Find("项目类别 = '" & e.DataRow("项目_类别")  & "'")

            If dr61 Is Nothing Then

                dr61 = DataTables("年度支出项目类别统计").AddNew

                dr61("项目类别") = e.DataRow("项目_类别")

                dr61("项目明细") = e.DataRow("项目_明细")

                dr61("年份") = Cdate(e.DataRow("记录日期")).Year                

            End If

            dr61("项目类别") = e.DataRow("项目_类别")

            dr61("项目明细") = e.DataRow("项目_明细")

            dr61("年份") = Cdate(e.DataRow("记录日期")).Year       2016,2017,2018

            

            

End Select


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


加好友 发短信
等级:七尾狐 帖子:1711 积分:11421 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/1/17 12:44:00 [显示全部帖子]

老师,代码修改后把2017年的数据也复制过去了。

 


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

 


Select Case e.DataCol.name
    Case "项目_类别","项目_明细"
        If e.DataRow.IsNull("项目_类别") = False AndAlso e.DataRow.IsNull("项目_类别") = False Then
           
            Dim dr61 As DataRow = DataTables("年度支出项目类别统计").Find("项目类别 = '" & e.DataRow("项目_类别")  & "'")
            If dr61 Is Nothing Then
                dr61 = DataTables("年度支出项目类别统计").AddNew
                dr61("项目类别") = e.DataRow("项目_类别")
                dr61("项目明细") = e.DataRow("项目_明细")
                dr61("年份") = Cdate(e.DataRow("记录日期")).Year
            End If
            dr61("项目类别") = e.DataRow("项目_类别")
            dr61("项目明细") = e.DataRow("项目_明细")
            dr61("年份") = Cdate(e.DataRow("记录日期")).Year      
            dr61("年份") = Date.Today.Year
           
           
        End If
End Select


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


加好友 发短信
等级:七尾狐 帖子:1711 积分:11421 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/1/17 12:57:00 [显示全部帖子]

谢谢老师

 回到顶部