Foxtable(狐表)用户栏目专家坐堂 → 关于查询按钮


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

主题:关于查询按钮

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
关于查询按钮  发帖心情 Post By:2021/7/5 1:35:00 [只看该作者]

希望点击查询按钮后能实现分组统计,查询按钮代码如下:

Dim Filter As String
Dim qsrq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim jzrq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker3")
Dim cpxh As WinForm.DropDownBox = e.Form.Controls("cmbproduct")
Dim ddh As WinForm.ComboBox = e.Form.Controls("OrderNum")
If qsrq.Value IsNot Nothing Then
    If Filter > "" Then
        filter = filter & " and Date>= #" & qsrq.Value & "#"
    End If
    filter = "Date >= #" & qsrq.value & "#"
End If

If jzrq.Value IsNot Nothing Then
    If filter > "" Then
        filter = filter & " and Date <= #" & jzrq.Value & "#"
    Else
        filter = "Date <= #" & jzrq.value & "#"
    End If
End If

If cpxh.Value IsNot Nothing Then
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter &  "Type like '%" & cpxh.value & "%'"
End If

If ddh.Value IsNot Nothing Then
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter &   "OrderNum like '%" & ddh.value & "%'"
End If

If Filter > "" Then
    Tables("PVC Order Query_table1").Filter = Filter
End If

Dim tb As Table = Tables("PVC Order Query_table1")
Dim g As Subtotalgroup
tb.SubtotalGroups.Clear()
'定义产品分组
g = New Subtotalgroup '定义一个新的分组
g.Aggregate = AggregateEnum.Sum '统计类型为求和
g.GroupOn = "Type" '分组列为客户
g.TotalOn = "Quantity,SquareMeter,Cornice"  '统计数量和金额列
g.Caption = "{0} 小计" '设置标题
tb.SubtotalGroups.Add(g) '加到分组集合中
'定义分组
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "OrderNum"
g.TotalOn = "Quantity,SquareMeter,Cornice"
g.Caption = "{0} 小计"
tb.SubtotalGroups.Add(g)
'定义总计分组
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*" '注意总计分组用符号*表示.
g.TotalOn = "Quantity,SquareMeter,Cornice"
g.Caption = "总计"
tb.SubtotalGroups.Add(g)
tb.Subtotal() '生成汇总模式

后面的分组统计代码非常影响速度,查询很慢。应该怎么改?

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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/5 8:34:00 [只看该作者]

这种是汇总模式,不是分组统计。如果慢应该是加载了太多数据,筛选后有多少行数据?

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/7/5 16:43:00 [只看该作者]

一周的数据大概七八十行
我去掉统计代码基本是秒出来,这种情况有没可能有其他方式实现

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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/5 17:05:00 [只看该作者]

不会吧,才几十行。有表事件和表达式列吗?具体上传实例看看

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/7/6 2:30:00 [只看该作者]

错了,一周间隔是500行左右,查询一周还可以。查询一个月间隔以上时间就慢了。
表事件只有部分计算代码,也不复杂。没有表达式列。

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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/6 8:55:00 [只看该作者]

查询一个月间隔以上有多少数据?慢到什么程度?

 回到顶部