以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]计算 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194848) |
||||
-- 作者:苏州老街 -- 发布时间: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)
|
||||
-- 作者:有点蓝 -- 发布时间: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
|
||||
-- 作者:苏州老街 -- 发布时间:2025/1/20 22:55:00 -- 谢谢老师 |
||||
-- 作者:苏州老街 -- 发布时间:2025/1/21 16:18:00 -- 老师,“摘要”列里有两个字段一个是“押金”另一个是“退还押金”还有两列是“付款金额”,“累计付款”。我想如果是押金就累加付款金额列的数据如果是退还押金就减去付款金额列中的数据。 |
||||
-- 作者:有点蓝 -- 发布时间:2025/1/21 17:01:00 -- 参考这里入库-出库的用法:http://www.foxtable.com/webhelp/topics/1572.htm |
||||
-- 作者:有点蓝 -- 发布时间:2025/1/21 17:09:00 -- 参考这里入库-出库的用法:http://www.foxtable.com/webhelp/topics/1572.htm |
||||
-- 作者:苏州老街 -- 发布时间:2025/1/21 17:39:00 -- 老师 我想不增加列的前提下根据前面两列的条件”客户,客户ID”来计算押金和押金退还。
[此贴子已经被作者于2025/1/21 17:44:22编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2025/1/21 20:03:00 -- 不需要增加列,【统计押金-统计押金退还】 |
||||
-- 作者:苏州老街 -- 发布时间:2025/1/21 20:16:00 -- 老师,我前面要加两个条件即谁给的押金,退给谁的。搞不明白。 客户,客户ID
|
||||
-- 作者:有点蓝 -- 发布时间:2025/1/21 20:37:00 -- 没搞明白表达的什么问题 |