没看懂你想要做什么。你固定代码执行都有错啊。
根据你的代码这样改
Dim b As New SQLCrossTableBuilder("统计表1","分析数据")
For Each s As String In c5.text.Split("|")
b.AddTable("分析数据","公历年月日",s,"时间") '添加统计表
Next
For Each s As String In c6.text.Split("|")
b.HGroups.AddDef(s) '添加列用于垂直分组
Next
For Each s As String In c7.text.Split("|")
b.VGroups.AddDef(s) '添加列用于水平分组
Next
For Each s As String In c8.text.Split("|")
b.Totals.AddDef(s) '添加列用于统计
Next
If e.Form.Controls("CheckBox1").Select = True Then '水平方向生成汇总
b.HorizontalTotal = True
End If
If e.Form.Controls("CheckBox2").Select = True Then '垂直方向生成汇总
b.VerticalTotal = True
End If
If e.Form.Controls("CheckBox3").Select = True Then '自动生成汇总模式
b.Subtotal = True
End If
'If e.Form.Controls("CheckBox4").Select = True Then
''记住所有
'Dim ndr As DataRow = DataTables("表名").addnew
'ndr("名称") = "默认"
'ndr("表") = c5.text
'ndr("水平分组") = c6.text
'ndr("垂直分组") = c7.Text
'End If
b.Build '生成统计表
MainTable = Tables("统计表1") '打开生成的统计表
'Tables("统计_Table1").DataSource= b.BuildDataSource '统计表放入指定窗口表