Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共19 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]计算

1楼
苏州老街 发表于:2024/12/16 14:03:00
老师,怎样把购气_数量列的数据加到总表_上期列中。

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


图片点击可在新窗口打开查看此主题相关图片如下:计算.png
图片点击可在新窗口打开查看
2楼
有点蓝 发表于:2024/12/16 14:28:00
如果有多行购气_数量,取哪一行的
3楼
苏州老街 发表于:2024/12/16 14:36:00
老师,项目为燃气的才能相加,购气_数量和下一行项目为燃气的总表_上期相加。谢谢老师
4楼
有点蓝 发表于:2024/12/16 15:10:00
和这里的用法一样,使用find查询最后一个购气日期的行,然后赋值:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=194487&skin=0
5楼
苏州老街 发表于: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

6楼
有点蓝 发表于:2024/12/16 21:30: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
7楼
苏州老街 发表于: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编辑过]
8楼
有点蓝 发表于:2024/12/16 22:29:00
没看懂
9楼
苏州老街 发表于: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
10楼
有点蓝 发表于:2024/12/16 22:54:00
被第3段代码给覆盖了,后面2段代码合并到一起
共19 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02795 s, 4 queries.