Foxtable(狐表)用户栏目专家坐堂 → [讨论]年度统计


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

主题:[讨论]年度统计

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/23 22:23:00 [只看该作者]


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


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2017/10/23 22:44:00 [只看该作者]

谢谢,好了。老师下面代码怎样修改,
If e.DataCol.name = "年份" OrElse e.DataCol.name = "客户名称" Then
    If e.DataRow.Isnull("年份") = False AndAlso e.DataRow.Isnull("客户名称") = False Then
        Dim filter As String = "客户 = '" & e.DataRow("客户名称") & "'
 Dim filter 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(出库_价税合计)", filter & " and 出库日期 >= #" & d & "# and 出库日期 < #" & d.addmonths(1) & "#")
            Dim sum1 As Integer = DataTables("入库明细").compute("sum(合计金额)", filter & " 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

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/23 23:32:00 [只看该作者]

没看懂什么意思

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


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2017/10/24 8:58:00 [只看该作者]

老师,我要把入库明细的数据也在统计表中显示。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.rar



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


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

If e.DataCol.name = "年份" OrElse e.DataCol.name = "客户名称" Then
    If 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
        Next
    Else
        For i As Integer = 1 To 12
            e.DataRow("M" & i) = Nothing
        Next
    End If
End If


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


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2017/10/24 11:50:00 [只看该作者]

以下是引用有点甜在2017/10/24 10:07:00的发言:

If e.DataCol.name = "年份" OrElse e.DataCol.name = "客户名称" Then
    If 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
        Next
    Else
        For i As Integer = 1 To 12
            e.DataRow("M" & i) = Nothing
        Next
    End If
End If


老师,入库明细表没有统计数据。


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


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

e.DataRow("M" & i) = sum

 

改成

 

e.DataRow("M" & i) = sum + sum1


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


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2017/10/24 13:57:00 [只看该作者]

 删除重复行

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建 文本文档 (2).txt

[此贴子已经被作者于2017/10/24 13:57:37编辑过]

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


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

Dim cmd5 As New SQLCommand
Dim dt As DataTable
cmd5.ConnectionName = "数据库"
Dim t5 As Table = Tables("进销存")

Dim filter = iif(t5.filter > "", t5.filter, "1=1")
cmd5.CommandText = "SELECT DISTINCT year(日期) as 年, 来源,客户ID,客户名称 from {进销存} where " & filter
dt = cmd5.ExecuteReader()
For Each dr As DataRow In dt.datarows
    filter = "年份 = '" & dr("年") & "' and 来源 = '" & dr("来源") & "' and 客户名称 = '" & dr("客户名称") & "'"
    Dim ndr As DataRow = DataTables("年度统计").find(filter)
    If ndr Is Nothing Then
        ndr = DataTables("年度统计").addnew
    End If
    ndr("年份") = dr("年")
    ndr("来源") = dr("来源")
    ndr("客户名称") = dr("客户名称")
Next


 回到顶部
总数 19 上一页 1 2