以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]统计  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188871)

--  作者:风声
--  发布时间:2023/10/26 19:02:00
--  [求助]统计
老师,下面代码只统计到9月份
If e.DataCol.Name = "项目ID" OrElse e.DataCol.Name = "项目" Then
    For i As Integer = 1 To 12
        Dim Filter As String = e.DataRow("项目") & "_ID = \'" & e.DataRow("项目ID") & "\' and 月=" & i
        e.DataRow("M" & i) = DataTables("数据汇总").Compute("Sum(" & e.DataRow("项目") & "_应付)", Filter)
    Next
End If


If e.DataCol.Name Like "*房_ID" Then
    Dim pr As DataRow
    pr = DataTables("水电气统计").Find("项目 = \'" & e.DataCol.Name.split("_")(0) & "\' and 项目ID=\'" & e.newvalue & "\'")
    If pr IsNot Nothing Then
        DataTables("水电气统计").DataCols("项目ID").RaiseDataColChanged(pr)
    End If
Else If e.DataCol.Name Like "*房_应付" Then
    Dim pr As DataRow
    pr = DataTables("水电气统计").Find("项目 = \'" & e.DataCol.Name.split("_")(0) & "\' and 项目ID=\'" & e.DataRow(e.DataCol.Name.split("_")(0) & "_ID") & "\'")
    If pr IsNot Nothing Then
        DataTables("水电气统计").DataCols("项目ID").RaiseDataColChanged(pr)
    End If
End If

--  作者:有点蓝
--  发布时间:2023/10/26 20:07:00
--  
应该是没有其它月份的数据,调试看看

If e.DataCol.Name = "项目ID" OrElse e.DataCol.Name = "项目" Then
    For i As Integer = 1 To 12
        Dim Filter As String = e.DataRow("项目") & "_ID = \'" & e.DataRow("项目ID") & "\' and 月=" & i
dim d as double = DataTables("数据汇总").Compute("Sum(" & e.DataRow("项目") & "_应付)", Filter)
msgbox("条件=" & Filter & “, 查询结果=” & d)
        e.DataRow("M" & i) = d
    Next
End If

--  作者:江南小镇
--  发布时间:2023/10/27 14:22:00
--  
老师,下面的统计表超过10月份就不能统计了,另外保存时报错。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计.zip


--  作者:有点蓝
--  发布时间:2023/10/27 15:21:00
--  
月份改为整数列,不要使用字符列