Forms("营销中心年度数据分类统计窗口").StopRedraw()
Dim Filter, Btext As String
Dim year As Integer
With e.Form.Controls("统计年度")
If .Value IsNot Nothing Then
year = .value
With e.Form.Controls("姓名")
If .Value IsNot Nothing Then
Filter = "[公历年度] = " & year & " and {员工借款}.姓名 = '" & .Value & "' And [支付方式] NOT In('往年结转','公历结转') And [统计] = 0 "
Btext = "公历" & year & "年度员工" & .Value & "借款数据"
Else
Filter = "[公历年度] = " & year & " And {员工借款}.姓名 NOT In( '公司' ) and {员工档案}.员工状态 In ( '在职', '试用期') And [支付方式] NOT In('往年结转','公历结转') And [统计] = 0 "
Btext = "公历" & year & "年度公司目前在职员工借款数据"
End If
End With
Else
With e.Form.Controls("姓名")
If .Value IsNot Nothing Then
Filter = "支付方式 NOT In( '往年结转','公历结转' ) And {员工借款}.姓名 = '" & .Value & "' And [统计] = 0 "
Btext = "员工" & .Value & "全部年度借款数据"
Else
Filter = "支付方式 NOT In( '往年结转','公历结转' ) And {员工借款}.姓名 NOT In( '公司') and {员工档案}.员工状态 In( '在职', '试用期') And [统计] = 0 "
Btext = "公司目前在职员工全部年度借款数据"
End If
End With
End If
End With
End If
Dim g As New SQlCrossTableBuilder("借款数据统计", "员工借款")
g.C
g.AddTable("员工借款", "员工编号", "员工档案", "员工编号") '添加统计表
g.HGroups.AddDef("{员工借款}.员工编号")
g.HGroups.AddDef("{员工借款}.姓名")
g.VGroups.AddDef("借款日期", Btext & "统计_{0}月")
g.Totals.AddDef("借款金额", "借款金额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.OrderByTotal = True
g.Filter = Filter
g.SubtotalLevel = 0 'SubtotalLevel的默认值为-1,根据所有分组生成汇总模式;设为0,只生成总计行,设为1,根据第一个分组生成汇总模式;设为2,根据前两个分组生成汇总模式,其余类推
g.Subtotal = True
g.Build()
Tables("营销中心年度数据分类统计窗口_Table1").DataSource = g.BuildDataSource()
Forms("营销中心年度数据分类统计窗口").ResumeRedraw()
MainTable = Tables("营销中心年度数据分类统计窗口_Table1")