呵。。交流下!刚做完才发现被截糊了!
Dim nr As DataRow
Dim tbA As DataTable=DataTables("表A")
Dim i,sum,yuInt As Integer
Dim dateInt As Date
DataTables("表A").DeleteFor("顺序 = 'B'")
Dim drs As New List(of DataRow)
drs = tbA.Select("[顺序]='A'","日期")
For Each r As DataRow In drs
sum += r("数量")
If sum>=51*6 Then
yuInt +=sum-51*6
sum = 0
dateInt = r("日期")
For i=1 To 6
nr = tbA.AddNew()
nr("日期") = dateInt.adddays(i)
nr("顺序") = "B"
nr("数量") = 51
Next
End If
Next
For i=1 To (yuInt+sum)\51
dateInt = dateInt.adddays(i+6)
nr = tbA.AddNew()
nr("日期") = dateInt
nr("顺序") = "B"
nr("数量") = 51
Next
nr = tbA.AddNew()
nr("日期") = dateInt.adddays(1)
nr("顺序") = "B"
nr("数量") = (yuInt+sum) Mod 51
DataTables("表A").save
Dim b As New SQLCrossTableBuilder("统计表","表A")
b.HGroups.AddDef("顺序","顺序")
b.VGroups.AddDef("日期",DateGroupEnum.day)
b.Totals.AddDef("数量")
b.HorizontalTotal= True
b.Build
MainTable =Tables("统计表")
Tables("统计表").AutoSizeCols