用于组合多个fxDataSource对象,
如果是两个统计表,按帮助说明执行,
如果是一个统计表,一个普通表,那么该如何?
例子:
统计表:
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("进货单"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("型号") '根据型号分组
bd1.Totals.AddDef("数量","进货_数量") '对数量进行统计
bd1.Totals.AddDef("金额","进货_金额") '对金额进行统计
dt1 = bd1.BuildDataSource()
普通表:
产品明细表——字段{"型号","大类","明细类","产品名称"}
目标结果是要达到字段{"大类","明细类","产品名称","型号","进货_数量","进货_金额"}
[此贴子已经被作者于2011-9-10 9:36:51编辑过]
嘻嘻,不用等,現在就可以:
Dim jb1 As New SQLJoinTableBuilder("查询","A")
jb1.AddCols("大类","明细类","产品名称","型号")
Dim dt1 As fxDataSource
dt1 = jb1.BuildDataSource()
Dim bd1 As New GroupTableBuilder("统计",DataTables("进货单"))
Dim dt2 As fxDataSource
bd1.Groups.AddDef("型号") '根据型号分组
bd1.Totals.AddDef("数量","进货_数量") '对数量进行统计
bd1.Totals.AddDef("金额","进货_金额") '对金额进行统计
dt2 = bd1.BuildDataSource()
dt1.Combine("型号",dt2,"型号") '
Tables("窗口1_Table1").DataSource =dt1
以下是引用紙上不談兵在2011-9-10 10:47:00的发言:嘻嘻,不用等,現在就可以:
Dim jb1 As New SQLJoinTableBuilder("查询","A")
jb1.AddCols("大类","明细类","产品名称","型号")
Dim dt1 As fxDataSource
dt1 = jb1.BuildDataSource()
Dim bd1 As New GroupTableBuilder("统计",DataTables("进货单"))
Dim dt2 As fxDataSource
bd1.Groups.AddDef("型号") '根据型号分组
bd1.Totals.AddDef("数量","进货_数量") '对数量进行统计
bd1.Totals.AddDef("金额","进货_金额") '对金额进行统计
dt2 = bd1.BuildDataSource()
dt1.Combine("型号",dt2,"型号") '
Tables("窗口1_Table1").DataSource =dt1
谢谢提示,不过需要更改一下后2句代码:
dt2.Combine("型号",dt1,"型号") '
Tables("窗口1_Table1").DataSource =dt2
虽然如此,以上仍然有些不足的,居然不会完全关联的——dt2中相同的型号的只会在第一条对应取得dt1中的值,其他的却不会取值
以下是引用kylin在2011-9-10 13:06:00的发言:
谢谢提示,不过需要更改一下后2句代码:
dt2.Combine("型号",dt1,"型号") '
Tables("窗口1_Table1").DataSource =dt2
虽然如此,以上仍然有些不足的,居然不会完全关联的——dt2中相同的型号的只会在第一条对应取得dt1中的值,其他的却不会取值
下载看了一下,果然没有问题,我检查一下我的数据情况,可是事实还是这样的呀
那麼肯定有一個錯誤,不會兩個數據正確,但結果一正一反的.
以下是引用kylin在2011-9-10 13:31:00的发言:
下载看了一下,果然没有问题,我检查一下我的数据情况,可是事实还是这样的呀
可能你的數據有空格所至吧
[此贴子已经被作者于2011-9-10 18:05:31编辑过]
Combine也可以直接作为一个函数使用:
Combine(DataTables("表1").BaseTable,"连接列",DataTables("表2").BaseTable,"连接列")