以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 条件查询组合统计 数据填入已存在的“统计表”,而非窗口里的_table1 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=83032) |
||||
-- 作者:湛江智 -- 发布时间:2016/3/30 0:30:00 -- 条件查询组合统计 数据填入已存在的“统计表”,而非窗口里的_table1
DataSource怎么用?找不到窗口里表table1这个属性, |
||||
-- 作者:Hyphen -- 发布时间:2016/3/30 8:41:00 -- 先生成统计表,再逐行把数据复制过去。 至于 DataSource怎么用,例子中不就是么 Tables("窗口1_Table1").DataSource = dt1 或者 e.Form.Controls("Table1").Table.DataSource = dt1 |
||||
-- 作者:湛江智 -- 发布时间:2016/3/30 9:01:00 -- Dim bd1 As New GroupTableBuilder("统计表1",DataTables("项目名称")) Dim dt1 As fxDataSource bd1.Groups.AddDef("主键编号") \'根据主键编号分组 bd1.Totals.AddDef("次键序号","项目名称_次键序号") \'对次键序号进行统计 bd1.Totals.AddDef("名称","项目名称_名称") \'对名称进行统计 dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("空间类型")) Dim dt2 As fxDataSource bd2.Groups.AddDef("主键编号") \'根据主键编号分组 bd2.Totals.AddDef("次键序号","空间类型_次键序号") \'对次键序号进行统计 bd2.Totals.AddDef("名称","空间类型_名称") \'对名称进行统计 dt2 = bd2.BuildDataSource() Dim bd3 As New GroupTableBuilder("统计表3",DataTables("设计单位")) Dim dt3 As fxDataSource bd2.Groups.AddDef("主键编号") \'根据主键编号分组 bd2.Totals.AddDef("次键序号","设计单位_次键序号") \'对次键序号进行统计 bd2.Totals.AddDef("名称","设计单位_名称") \'对名称进行统计 dt2 = bd2.BuildDataSource() Dim bd4 As New GroupTableBuilder("统计表4",DataTables("设计师")) Dim dt4 As fxDataSource bd3.Groups.AddDef("主键编号") \'根据主键编号分组 bd3.Totals.AddDef("次键序号","设计师_次键序号") \'对次键序号进行统计 bd3.Totals.AddDef("名称","设计师_名称") \'对名称进行统计 dt3 = bd3.BuildDataSource() dt1.Combine("主键编号",dt2,"主键编号") \'将设计单位统计数据组合到项目名称统计数据 dt1.Combine("主键编号",dt3,"主键编号") \'将设计师统计数据组合到项目名称统计数据 Tables("窗口1_Table1").DataSource = dt1 \'将统计结果绑定到Table e.Form.Controls("统计表").Table.DataSource = dt1 \'这一句加在最后面,不行,没明白怎么用 |
||||
-- 作者:Hyphen -- 发布时间:2016/3/30 9:03:00 -- Tables("窗口1_Table1").DataSource = dt1 \'将统计结果绑定到Table e.Form.Controls("统计表").Table.DataSource = dt1 \'这一句加在最后面,不行,没明白怎么用 这2个是一个东西,用其中一个就可以
|
||||
-- 作者:湛江智 -- 发布时间:2016/3/30 9:25:00 -- e.Form.Controls("统计表").Table.DataSource = dt1
[此贴子已经被作者于2016/3/30 9:31:33编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2016/3/30 9:31:00 -- 填充数据,参考
http://www.foxtable.com/help/topics/0680.htm
|
||||
-- 作者:湛江智 -- 发布时间:2016/3/30 10:15:00 -- 红袍大师,数据填充过去后,数据重复了,要实现存在 编号则覆盖,没有该编号则新建行赋值呢? 我用导入外部excle的函数,不知道怎么修改成窗口统计的导入,帮忙看看了
|
||||
-- 作者:大红袍 -- 发布时间:2016/3/30 10:23:00 -- Dim s1 As String = "主键编号,项目名称_次键序号,项目名称_名称,空间类型_次键序号,空间类型_名称,设计单位_次键序号,设计单位_名称,设计师_次键序号,设计师_名称" \'指定数据来源列 Dim Cols1() As String = s1.Split(",") Dim Cols2() As String = s1.Split(",") For Each dr1 As DataRow In DataTables("窗口1_Table1").Select("主键编号 is not null") Dim dr2 As DataRow = DataTables("统计表").Find("主键编号 = \'" & dr1("主键编号") & "\'") If dr2 Is Nothing Then dr2 = DataTables("统计表") .AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next Next |
||||
-- 作者:大红袍 -- 发布时间:2016/3/30 10:29:00 --
|
||||
-- 作者:湛江智 -- 发布时间:2016/3/30 10:30:00 -- 红袍大师,存在编号的值更新了,但又重新建了一行,重复了 |