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


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

主题:[求助]计算

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


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
[求助]计算  发帖心情 Post By:2024/12/16 14:03:00 [显示全部帖子]

老师,怎样把购气_数量列的数据加到总表_上期列中。

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


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

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


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2024/12/16 14:36:00 [显示全部帖子]

老师,项目为燃气的才能相加,购气_数量和下一行项目为燃气的总表_上期相加。谢谢老师

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


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2024/12/16 20:24:00 [显示全部帖子]

老师,搞不好。
If e.DataCol.Name = "项目" Then
    If e.DataRow.IsNull("项目") =  False Then
        Dim dr2 As DataRow = e.DataTable.Find("项目='" & e.NewValue & "' and _sortkey <" & e.DataRow("_sortkey"),"_sortkey desc")       
        If dr2 IsNot Nothing Then
            dr2("总表_本期读数") = dr("总表_上期读数") + dr("购气_数量")
        End If
    End If
End If

图片点击可在新窗口打开查看此主题相关图片如下:2024-12-16 19 50 21.jpg
图片点击可在新窗口打开查看

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


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


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2024/12/16 22:22:00 [显示全部帖子]

老师,我想加在上期上否则总表_消耗数为出现负数。老师谢谢了

Dim dr2 As DataRow = e.DataTable.Find("项目='" & e.NewValue & "' and 购气_日期 is not null and _sortkey <" & e.DataRow("_sortkey"),"_sortkey desc")
       
        If dr2 IsNot Nothing Then
            dr("总表_上期读数") = dr("总表_上期读数") + dr2("购气_数量")
        End If
[此贴子已经被作者于2024/12/16 22:23:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
苏州老街
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2024/12/16 22:50:00 [显示全部帖子]

老师,标出的代码不计算

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "总表_本期读数","总表_上期读数"
        If dr.IsNull("总表_本期读数") OrElse dr.IsNull("总表_上期读数") Then
            dr("总表_消耗数") = Nothing
        Else
            If  dr("项目") <>"燃气" Then
                dr("总表_消耗数") = dr("总表_本期读数") - dr("总表_上期读数")
                
            Else
                dr("总表_消耗数") = dr("总表_上期读数") - dr("总表_本期读数")
            End If
        End If
End Select


If e.DataCol.Name = "项目" Then
    If e.DataRow.IsNull("项目") =  False Then        
        Dim dr2 As DataRow = e.DataTable.Find("项目='" & e.NewValue & "' and 购气_日期 is not null and _sortkey <" & e.DataRow("_sortkey"),"_sortkey desc")
        If dr2 IsNot Nothing Then
            dr("总表_上期读数") = dr2("购气_数量") + dr("总表_上期读数")
        End If

    End If
End If

If e.DataCol.Name = "项目" Then
    If e.DataRow.IsNull("项目") = False AndAlso e.DataRow.IsNull("抄表日期") = False Then      
        Dim dr1 As DataRow = e.DataTable.Find("项目='" & e.NewValue & "' and 抄表日期 is not null and _sortkey <" & e.DataRow("_sortkey"),"_sortkey desc")
        If dr1 IsNot Nothing Then
            e.DataRow("总表_上期读数") = dr1("总表_本期读数")
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
苏州老街
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2024/12/16 23:20:00 [显示全部帖子]

老师,怎样自动重置项目和抄表日期列

 回到顶部
帅哥哟,离线,有人找我吗?
苏州老街
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2024/12/16 23:30:00 [显示全部帖子]

谢谢老师

 回到顶部
帅哥哟,离线,有人找我吗?
苏州老街
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2024/12/17 8:17:00 [显示全部帖子]

老师,总表_上期读数的每一行都会加上购气_数量。

If e.DataCol.Name = "项目" Then
    If e.DataRow.IsNull("项目") = False AndAlso e.DataRow.IsNull("抄表日期") = False Then
        Dim dr1 As DataRow = e.DataTable.Find("项目='" & e.NewValue & "' and 抄表日期 is not null and _sortkey <" & e.DataRow("_sortkey"),"_sortkey desc")
        Dim dr2 As DataRow = e.DataTable.Find("项目='" & e.NewValue & "' and 购气_日期 is not null and _sortkey <" & e.DataRow("_sortkey"),"_sortkey desc")
        If dr1 IsNot Nothing Then
            If dr2 IsNot Nothing Then
                e.DataRow("总表_上期读数") = dr1("总表_本期读数")
                dr("总表_上期读数") = dr("总表_上期读数") + dr2("购气_数量")
            End If
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
苏州老街
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2024/12/17 14:33:00 [显示全部帖子]

老师好


此主题相关图片如下:计算.png
按此在新窗口浏览图片


If e.DataCol.Name = "项目" Then
    If e.DataRow.IsNull("项目") = False AndAlso e.DataRow.IsNull("抄表日期") = False Then
        Dim dr1 As DataRow = e.DataTable.Find("项目='" & e.NewValue & "' and 抄表日期 is not null and _sortkey <" & e.DataRow("_sortkey"),"_sortkey desc")
        Dim dr2 As DataRow = e.DataTable.Find("项目='" & e.NewValue & "' and 购气_日期 is not null and _sortkey <" & e.DataRow("_sortkey"),"_sortkey desc")
        If dr1 IsNot Nothing Then
            If dr2 IsNot Nothing Then
                e.DataRow("总表_上期读数") = dr1("总表_本期读数")
                dr("总表_上期读数") = dr("总表_上期读数") + dr2("购气_数量")
            End If
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
苏州老街
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4507 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2024/12/17 18:26:00 [显示全部帖子]

老师,前面我没有说清楚,新增购气_数量后只和总表_上期读数相加一次,不一定靠近的一行可能要相差几行。谢谢老师
Dim idx As Integer = Tables(e.DataTable.name).findrow(e.DataRow)
        If idx > 0 Then
            Dim r As Row = Tables(e.DataTable.name).rows(idx-1)
            If r.isnull("购气_日期")=False
                e.DataRow("总表_上期读数") = e.DataRow("总表_上期读数")  + r("购气_数量")
                End If
            End If
        End If


 回到顶部
总数 11 1 2 下一页