以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]统计表筛选效率 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175017) |
-- 作者:lgj716330 -- 发布时间:2022/2/16 12:07:00 -- [求助]统计表筛选效率 Dim b3 As New SQLGroupTableBuilder("工资", "工资统计表") b3.C b3.AddTable("工资统计表","店铺编号","档案","部门编号") b3.Groups.AddDef("开店日期",DateGroupEnum.Year,"开业年份") b3.Groups.AddDef("开店日期",DateGroupEnum.Month,"开业月份") b3.Groups.AddDef("关店日期",DateGroupEnum.Year,"闭店年份") b3.Groups.AddDef("关店日期",DateGroupEnum.Month,"闭店月份") b3.Groups.AddDef("年份") b3.Groups.AddDef("月份") b3.Groups.AddDef("姓名") b3.Totals.AddDef("折算人数") b3.Totals.AddDef("应付工资") b3.Totals.AddExp("折算应付工资","case when 折算人数<=0 then 0 else 应付工资/折算人数 end") b3.Filter = "(" & filter1 & ") and (年份 = \'" & n1 & "\' or 年份 = \'" & n2 & "\')" b3.Build For Each r As Row In Tables("工资").Rows Dim yf As Integer = CInt(r("闭店月份")) If yf>0 Then Tables("工资").Filter="(年份=开业年份 and 月份>开业月份) or (年份=闭店年份 and 月份<闭店月份) or (年份<闭店年份 and 年份>开业年份)" ElseIf yf=0 Then Tables("工资").Filter="(年份=开业年份 and 月份>开业月份) or 年份>开业年份" End If Next 当没有标黄部分筛选条件的时候没有什么问题,但加了这个筛选条件后直接卡死了,怎么改可以提升打开速度。开店日期和关店日期属于档案表中的列
[此贴子已经被作者于2022/2/16 13:08:52编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/2/16 13:32:00 -- 为什么要遍历所有行?红色代码想实现什么功能? |
-- 作者:lgj716330 -- 发布时间:2022/2/16 14:06:00 -- 哦,明白了 |