以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于Combine方法的请教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=12639) |
||||
-- 作者:kylin -- 发布时间:2011/9/10 9:37:00 -- 关于Combine方法的请教 用于组合多个fxDataSource对象, 如果是两个统计表,按帮助说明执行,
如果是一个统计表,一个普通表,那么该如何? 例子: 统计表: Dim bd1 As New GroupTableBuilder("统计表1",DataTables("进货单"))
普通表: 产品明细表——字段{"型号","大类","明细类","产品名称"}
目标结果是要达到字段{"大类","明细类","产品名称","型号","进货_数量","进货_金额"}
[此贴子已经被作者于2011-9-10 9:36:51编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/10 10:02:00 -- 没有没有办法,等下次更新,告诉你一个办法。 |
||||
-- 作者:kylin -- 发布时间:2011/9/10 10:10:00 -- 哦,那就等等,谢谢先! |
||||
-- 作者:紙上不談兵 -- 发布时间: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 |
||||
-- 作者:kylin -- 发布时间:2011/9/10 13:06:00 -- 以下是引用紙上不談兵在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中的值,其他的却不会取值
|
||||
-- 作者:紙上不談兵 -- 发布时间:2011/9/10 13:17:00 -- 以下是引用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 14:00:00 -- 那麼肯定有一個錯誤,不會兩個數據正確,但結果一正一反的. |
||||
-- 作者:紙上不談兵 -- 发布时间:2011/9/10 17:47:00 -- 以下是引用kylin在2011-9-10 13:31:00的发言: 下载看了一下,果然没有问题,我检查一下我的数据情况,可是事实还是这样的呀 可能你的數據有空格所至吧
[此贴子已经被作者于2011-9-10 18:05:31编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/11 17:55:00 -- Combine也可以直接作为一个函数使用:
Combine(DataTables("表1").BaseTable,"连接列",DataTables("表2").BaseTable,"连接列")
|