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编辑过]