代码稍作微调,所得效果如下:

此主题相关图片如下:捕获.jpg

按钮代码如下:
Dim sql As String
sql = "Select 日期,批次,时间,单位,类别,1 As 计数 FROM {表A}"
Dim b As New CrossTableBuilder("当月汇总",sql)
b.HGroups.AddDef("单位")
b.HGroups.AddDef("批次")
b.VGroups.AddDef("日期",DateGroupEnum.None)
b.VGroups.AddDef("类别")
b.Totals.AddDef("计数")
b.Build()
MainTable = Tables("当月汇总")
Tables("当月汇总").AutoSizeCols()
Dim dt As DataTable = DataTables("当月汇总")
dt.DataCols.Add("开始时间", Gettype(Date))
dt.DataCols.Add("结束时间", Gettype(Date))
dt.DataCols("开始时间").SetDateTimeFormat(DateTimeFormatEnum.LongTime)
dt.DataCols("结束时间").SetDateTimeFormat(DateTimeFormatEnum.LongTime)
For Each dr As DataRow In dt.DataRows
Dim fdr1 As DataRow = DataTables("表A").Find("单位 = '" & dr("单位") & "' and 批次 = '" & dr("批次") & "'", "时间")
Dim fdr2 As DataRow = DataTables("表A").Find("单位 = '" & dr("单位") & "' and 批次 = '" & dr("批次") & "'", "时间 desc")
dr("开始时间") = cdate(fdr1("时间"))
dr("结束时间") = cdate(fdr2("时间"))
Next
Tables("当月汇总").Cols("开始时间").Move(2)
Tables("当月汇总").Cols("结束时间").Move(3)
Tables("当月汇总").AutoSizeCols()
[此贴子已经被作者于2014-8-1 20:05:28编辑过]