Foxtable(狐表)用户栏目专家坐堂 → 为什么这样合计很慢,日期越多就越慢,有没有其它方法快一点


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

主题:为什么这样合计很慢,日期越多就越慢,有没有其它方法快一点

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/28 22:06:00 [显示全部帖子]

直接使用sql统计

dim sql as strin = "select 店名,店铺地址,sum(提成实收金额) as (提成实收金额),sum(实收金额) as 实收金额  From 销售合计 where 日期 >= '" & e.PostValues("开始") & "'  And 日期  <= '" & e.PostValues("结束") & "' And ('," & ddr("账号企业名") & ",') like '%,' + 店名 + ',%' and 商品素金非素='非素'  group by 店名,店铺地址"

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


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

使用SQLcommand执行sql,根据返回的表格数据遍历生成数据

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


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/1 10:35:00 [显示全部帖子]

1楼自己发的代码里就有执行sql并遍历返回结果的代码

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


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/1 11:46:00 [显示全部帖子]

已经使用sql统计好了,就不需要使用compute,直接遍历即可

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


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/1 13:40:00 [显示全部帖子]

 Dim ddr As DataRow= DataTables("Users").SQLFind("Name='"& e.Cookies("username")  &"' " )
        Dim cmd As new SQLCommand
        cmd.C
dim sql as strin = "select 店名,店铺地址,sum(提成实收金额) as (提成实收金额),sum(实收金额) as 实收金额  From 销售合计 where 日期 >= '" & e.PostValues("开始") & "'  And 日期  <= '" & e.PostValues("结束") & "' And ('," & ddr("账号企业名") & ",') like '%,' + 店名 + ',%' and 商品素金非素='非素'  group by 店名,店铺地址"
        cmd.CommandText= sql 
        Dim dt As DataTable = cmd.ExecuteReader
          With wb.AddArticle("","ar02")
        For Each dr as datarow in dt.datarows
        msgbox(dr("提成实收金额"))
        msgbox(dr("实收金额"))


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


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/1 14:16:00 [显示全部帖子]


For Each dr as datarow in 
dt.select("","店名,店铺地址")

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


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/1 14:27:00 [显示全部帖子]

使用2条sql,然后使用union合并

https://www.w3school.com.cn/sql/sql_union.asp

 回到顶部