Foxtable(狐表)用户栏目专家坐堂 → 在订单表头上面统计整月订单的收款状态


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

主题:在订单表头上面统计整月订单的收款状态

美女呀,离线,留言给我吧!
ganlan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1280 威望:0 精华:0 注册:2021/4/17 10:35:00
在订单表头上面统计整月订单的收款状态  发帖心情 Post By:2024/11/30 12:28:00 [只看该作者]

请教一下想在订单表头上面统计该客户的整月账单订单的收款状态,用了下面的代码,重置列的时候,需要的时间要好几分钟,帮忙看一下代码能不能改良一下,谢谢
说明:订单表中字段有:订单号,账单收款状态,订单金额,订单已收款,客户名,账单月份
         收款表中字段有:订单号,订单金额,订单已收款,客户名,账单月份

Select Case e.DataCol.name
    Case "订单号"
        If e.DataRow.IsNull("订单号") Then
            e.DataRow("账单收款状态") = Nothing
        Else
            Dim filter As String 
            filter = "[客户名] = '" & e.DataRow("客户名") & "' and  账单月份 = '" & e.DataRow("账单月份") & "'"
            Dim ddje As Integer = DataTables("收款表").Compute("sum(订单金额)", filter)
            Dim ddys As Integer = DataTables("收款表").Compute("sum(订单已收款)", filter)
            If ddje = ddys Then
                e.DataTable.replacefor("账单收款状态", "收完", filter)
            Else
                e.DataTable.replacefor("账单收款状态", "未收完", filter)
            End If 
        End If
End Select
[此贴子已经被作者于2024/11/30 12:30:09编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111389 积分:567009 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/30 12:51:00 [只看该作者]

考虑实时更新,比如:http://www.foxtable.com/webhelp/topics/1472.htm

而不是动不动就重置列。一般是更改代码后重置一下旧数据。如果说数据比较多,慢是正常的,这种没有什么可优化的了

 回到顶部
美女呀,离线,留言给我吧!
ganlan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1280 威望:0 精华:0 注册:2021/4/17 10:35:00
  发帖心情 Post By:2024/11/30 13:28:00 [只看该作者]

因为我是辅助SQL数据库的,所以做不到实时更新呀。几千条数据,要差不多十分钟,这个和其他的求和速度差太多了,其他的几乎马上就好了
[此贴子已经被作者于2024/11/30 13:29:04编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111389 积分:567009 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/30 13:49:00 [只看该作者]

意思是"收款表"是其它程序往数据库里写的,不是自己的程序录入的?

使用的是Compute,那么数据应该已经加载了,几千条数据也不应该要十分钟这么久,估计是"账单收款状态"更新后又触发了其它事件代码。方便做个例子发上来看看

 回到顶部
美女呀,离线,留言给我吧!
ganlan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1280 威望:0 精华:0 注册:2021/4/17 10:35:00
  发帖心情 Post By:2024/11/30 14:18:00 [只看该作者]

不是,我两个表都是引用外部数据源的数据,然后通过重置列后再填入外部数据源的,收款表其实也是销售订单表,只不过我引用了两次同一个外部数据源的同一个表,起了不一的名字而已,估计这样而是等同一个表吧。之前试过,如果是同一个表内的数据参与重置,就会特别慢,如果是引用不同表的就很快,我以为添加同一个表进来,可以相当于不同表了,看看还是不行。

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111389 积分:567009 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/30 16:13:00 [只看该作者]

上实例吧

 回到顶部