第一个问题:你的Ctrl+D可能被占用了,试试Ctrl+9
第二个问题:代码这样写
DataTables("销售统计").DeleteFor("[产品] Is not null")
Dim tj As New Filler
tj.SourceTable = DataTables("订单")
tj.SourceCols = "客户,产品"
tj.DataTable = DataTables("销售统计")
tj.DataCols = "客户,产品"
Dim d As Date = new Date(1999,e.Form.Controls("NumericComboBox1").value, 1)
tj.Filter="日期>=#" & d & "# and 日期 < #" & d.AddMonths(1) & "#"
tj.Fill()
DataTables("销售统计").DeleteFor("[产品] Is null")
Dim t As Table = Tables("销售统计")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = True
t.SpillNode = True
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "客户"
g.TotalOn = "数量,金额"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "数量,金额"
g.Caption = "总计"
t.SubtotalGroups.Add(g)
t.Subtotal()
第三个问题:你添满六行的label,命名要有规则,比如 label_1_bh label_1_mc
然后可以遍历子表的行,一个一个把值设置进去
比如 e.controls("label_" & i & "_bh") = r("编号")
[此贴子已经被作者于2013-11-2 22:13:45编辑过]