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


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

主题:[求助]计算

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


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/20 20:23: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 .........."
        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 .........."
                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 .........."
            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 .........."
                    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 .........."
            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 .........."
                    Dim Val1 As Double = e.DataTable.Compute("Sum(付款金额)",Filter)
……
        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 .........."

……
End Select

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


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/21 17:01:00 [显示全部帖子]

参考这里入库-出库的用法:http://www.foxtable.com/webhelp/topics/1572.htm

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


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/21 17:09:00 [显示全部帖子]

参考这里入库-出库的用法:http://www.foxtable.com/webhelp/topics/1572.htm

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


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/21 20:03:00 [显示全部帖子]

不需要增加列,【统计押金-统计押金退还】

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


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/21 20:37:00 [显示全部帖子]

没搞明白表达的什么问题

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


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/22 8:45:00 [显示全部帖子]

    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("客户") & "'"
        drs = e.DataTable.Select(Filter)
        For i As Integer = 0 To drs.Count - 1
            Dim dr = drs(i)
            If i = drs.Count - 1 Then
                Filter1 = "[_Identify] <= " & dr("_Identify") & " And [客户id] = '" & dr("客户id") & "' and [客户] = '" & e.DataRow("客户") & "' and [摘要] = '押金'"
                Filter2 = "[_Identify] <= " & dr("_Identify") & " And [客户id] = '" & dr("客户id") & "' and [客户] = '" & e.DataRow("客户") & "' and [摘要] = '押金退还'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(付款金额)",Filter1)
                Dim Val2 As Double = e.DataTable.Compute("Sum(付款金额)",Filter2)
                dr("累计付款") = Val1 - Val2 
            Else
                dr("累计付款") = Nothing
            End If
        Next
……

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


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/23 8:36:00 [显示全部帖子]

没有声明变量,补上:http://www.foxtable.com/webhelp/topics/0209.htm

 回到顶部