此主题相关图片如下:13.png

三个统计表,如上,想根据不同的选择情况进行组合统计。
不想分别做三个统计工具,而是想用比如 遍历 的方式 来 根据勾选的情况 ,进行 遍历统计 再 组合。
现在不知道 遍历 统计 怎么写。。。
Dim dt3 As fxDataSource
Dim dt2 As fxDataSource
Dim dt1 As fxDataSource
Dim m As String
If e.Form.Controls("CheckBox8").checked Then
m = "陈列量"
end if
If e.Form.Controls("CheckBox9").checked Then
m = "动销量"
end if
If e.Form.Controls("CheckBox10").checked Then
m = "库位销售分析"
end if
Dim bdns As String() = {"bd1","bd2","bd3"}
For Each bdn As String In bdns
Dim bdn As New SQLcrossTableBuilder("统计表3",m)
bdn.C
bdn.HGroups.AddDef("门店") '添加客户列用于水平分组
bdn.HGroups.AddDef("库位") '添加客户列用于水平分组
bdn.vGroups.AddDef("调整期间","调整期间_{0}") '添加客户列用于水平分组
If e.Form.Controls("CheckBox8").checked Then '统计陈列量这张表
forms("提示窗口").Controls("Label1").text = "正在统计陈列sku数..."
Application.DoEvents
bdn.Totals.AddDef("陈列量","陈列sku数") '添加数量列用于统计
bdn.Totals.AddDef("陈列量","陈列sku数") '添加数量列用于统计
bdn.filter = filter
dt3 = bdn.BuildDataSource()
End If
If e.Form.Controls("CheckBox9").checked Then
forms("提示窗口").Controls("Label1").text = "正在统计动销sku数..."
Application.DoEvents
bdn.Totals.AddDef("动销量","动销sku数") '添加数量列用于统计
bdn.Totals.AddDef("动销量","动销sku数") '添加数量列用于统计
bdn.filter = filter
bdn.CommandTimeOut = 600
dt2 = bdn.BuildDataSource()
End If
If e.Form.Controls("CheckBox10").checked Then
bdn.Totals.AddDef("销售数量","销售件数") '添加数量列用于统计
If filter2 >"" Then
filter =filter & " And " & filter2
End If
bdn.filter = filter
bdn.CommandTimeOut = 600
dt1 = bdn.BuildDataSource()
End If
Next
For Each c As Object In e.Form.controls("groupbox3").children
If c.checked Then
ls.add(c.text)
End If
Next
Dim nms As String() = ls.ToArray
Dim dts() As fxDataSource = {dt3,dt2,dt1}
Dim pdt As fxDataSource = Nothing
For Each dt As object In dts
If pdt Is Nothing AndAlso dt IsNot Nothing Then
pdt = dt
Else
If pdt IsNot Nothing AndAlso dt IsNot Nothing Then
pdt.Combine(nms,dt,nms)
End If
End If
Next
Tables(e.Form.Name & "_table1").StopRedraw
Tables(e.Form.Name & "_table1").DataSource = pdt
[此贴子已经被作者于2016/8/1 10:19:35编辑过]