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


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

主题:[求助]计算

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


加好友 发短信
等级:三尾狐 帖子:785 积分:4990 威望:0 精华:0 注册:2016/10/19 16:45:00
[求助]计算  发帖心情 Post By:2025/1/20 18:01:00 [显示全部帖子]

老师好,我想在下面代码中再增加两个计算条件。标出的是新增条件。

Select Case e.DataCol.Name
    Case "客户id","商品名称","摘要","付款金额"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_Identify] >= " & e.DataRow("_Identify") & " And [客户id] = '" & e.DataRow("客户id") & "'"
        drs = e.DataTable.Select(Filter)
        
      
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文本文档.txt


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


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

谢谢老师

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


加好友 发短信
等级:三尾狐 帖子:785 积分:4990 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2025/1/21 16:18:00 [显示全部帖子]

老师,“摘要”列里有两个字段一个是“押金”另一个是“退还押金”还有两列是“付款金额”,“累计付款”。我想如果是押金就累加付款金额列的数据如果是退还押金就减去付款金额列中的数据。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:计算.table


图片点击可在新窗口打开查看此主题相关图片如下:2025-01-06 10 37 50.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:三尾狐 帖子:785 积分:4990 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2025/1/21 17:39:00 [显示全部帖子]

老师
   我想不增加列的前提下根据前面两列的条件”客户,客户ID”来计算押金和押金退还。
[此贴子已经被作者于2025/1/21 17:44:22编辑过]

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


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

老师,我前面要加两个条件即谁给的押金,退给谁的。搞不明白。
客户,客户ID

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


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

老师好
  通过修改下面的代码后能得到用颜色标出的结果。

Select Case e.DataCol.Name
    Case "客户id","客户","摘要","付款金额"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_Identify] >= " & e.DataRow("_Identify") & " And [客户id] = '" & e.DataRow("客户id") & "' and [客户] = '" & e.DataRow("客户") & "' and [摘要] = '" & e.DataRow("摘要") & "'"
        drs = e.DataTable.Select(Filter)
        
        For i As Integer = 0 To drs.Count - 1
            Dim dr = drs(i)
            If i = drs.Count - 1 Then
                Filter = "[_Identify] <= " & dr("_Identify") & " And [客户id] = '" & dr("客户id") & "' and [客户] = '" & e.DataRow("客户") & "' and [摘要] = '" & e.DataRow("摘要") & "'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(付款金额)",Filter)
                dr("累计付款") = Val1
            Else
                dr("累计付款") = Nothing
            End If
        Next
        If e.DataCol.Name = "客户id" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[_Identify] > " & e.DataRow("_Identify") & " And [客户id] = '" & e.OldValue & "'  and [客户] = '" & e.DataRow("客户") & "' and [摘要] = '" & e.DataRow("摘要") & "'"
            drs = e.DataTable.Select(Filter)
            For i As Integer = 0 To drs.Count - 1
                Dim dr = drs(i)
                If i = drs.Count - 1 Then
                    Filter = "[_Identify] <= " & dr("_Identify") & " And [客户id] = '" & dr("客户id") & "'  and [客户] = '" & e.DataRow("客户") & "' and [摘要] = '" & e.DataRow("摘要") & "'"
                    Dim Val1 As Double = e.DataTable.Compute("Sum(付款金额)",Filter)
                    dr("累计付款") = Val1
                Else
                    dr("累计付款") = Nothing
                End If
            Next
        End If
        If e.DataCol.Name = "客户" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[_Identify] > " & e.DataRow("_Identify") & " And [客户] = '" & e.OldValue & "'  and [客户id] = '" & e.DataRow("客户id") & "' and [摘要] = '" & e.DataRow("摘要") & "'"
            drs = e.DataTable.Select(Filter)
            For i As Integer = 0 To drs.Count - 1
                Dim dr = drs(i)
                If i = drs.Count - 1 Then
                    Filter = "[_Identify] <= " & dr("_Identify") & " And [客户] = '" & e.OldValue & "'  and [客户id] = '" & e.DataRow("客户id") & "' and [摘要] = '" & e.DataRow("摘要") & "'"
                    Dim Val1 As Double = e.DataTable.Compute("Sum(付款金额)",Filter)
                End If
                If e.DataCol.Name = "摘要" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
                    Filter = "[_Identify] > " & e.DataRow("_Identify") & " And [摘要] = '" & e.OldValue & "'  and [客户] = '" & e.DataRow("客户") & "' and [摘要] = '" & e.DataRow("摘要") & "'"
                End If
            Next
        End If
End Select



   
    If e.DataCol.Name = "客户" Then
        Dim Val1 As Double  = e. DataTable.Compute("Sum(付款金额)","[客户] = '" & e.OldValue & "' and 摘要 ='押金'")
        Dim Val2 As Double  = e. DataTable.Compute("Sum(付款金额)","[客户] = '" & e.OldValue & "' and 摘要 ='押金退还'")
       ' dr("押金") = Val1 - Val2
    End If


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


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

老师,有个地方报错。

图片点击可在新窗口打开查看此主题相关图片如下:2025-01-22 17 45 04.png
图片点击可在新窗口打开查看

 回到顶部