以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于交叉统计问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71603)

--  作者:bestorange
--  发布时间:2015/7/14 19:13:00
--  关于交叉统计问题

如果我在一个窗口的按钮控件事件命令如下编写:

Dim g As New CrossTableBuilder("结算表1", DataTables("教师签到表"))
g.Caption = "工资结算"
g.HGroups.AddDef("姓名")
g.VGroups.AddDef("签到时间", "{0}月")
g.VGroups.AddDef("授课内容")
g.Totals.AddDef("授课内容", AggregateEnum.Count, "课时数")
g.VerticalTotal = True
g.Subtotal = True
g.Build()
MainTable = Tables("结算表1")

 

DataTables("课时统计表").DataRows.Clear
Dim f As new Filler
f.SourceTable = DataTables("结算表1") \'指定数据来源
f.SourceCols = "姓名,签到时间,授课内容" \'指定数据来源列
f.DataTable = DataTables("课时统计表") \'指定数据接收表
f.DataCols = "第一列,第二列,第三列" \'指定数据接收列
f.Fill() \'填充数据

单击按钮会生成一个新的表

 

如果我想再添加一个组合框,用于选定该表姓名列下的某一个人,然后再单击按钮 生成出一个个人的不同课程的课时结算表,该如何修改命令?

 


--  作者:大红袍
--  发布时间:2015/7/14 19:17:00
--  

Dim g As New CrossTableBuilder("结算表1", DataTables("教师签到表"))
g.Caption = "工资结算"
g.HGroups.AddDef("姓名")
g.VGroups.AddDef("签到时间", "{0}月")
g.VGroups.AddDef("授课内容")
g.Totals.AddDef("授课内容", AggregateEnum.Count, "课时数")
g.VerticalTotal = True
g.Subtotal = True

g.Filter = "姓名 = \'张三\'"
g.Build()
MainTable = Tables("结算表1")


--  作者:bestorange
--  发布时间:2015/7/14 19:36:00
--  

Dim g As New CrossTableBuilder("结算表1", DataTables("陪练课时统计表"))
g.Caption = "课时结算"
g.HGroups.AddDef("教师姓名")
g.VGroups.AddDef("签到时间", "{0}月")
g.VGroups.AddDef("陪练级别")
g.Totals.AddDef("陪练级别", AggregateEnum.Count, "签到次数")
g.VerticalTotal = True
g.Subtotal = True
g.Filter = "教师姓名 = \'张三\'"
g.Build()
MainTable = Tables("结算表1")
 

DataTables("员工工资结算表").DataRows.Clear
Dim f As new Filler
f.SourceTable = DataTables("结算表1") \'指定数据来源
f.SourceCols = "教师姓名,签到时间,授课内容,签到次数" \'指定数据来源列
f.DataTable = DataTables("员工工资结算表") \'指定数据接收表
f.DataCols = "第一列,第二列,第三列,第四列" \'指定数据接收列
f.Fill() \'填充数据

 

按钮控件的命令是这样编辑吗??g.Filter = "姓名 = \'张三\'"的张三是代入吗?指组合框中选定的人吗?组合框数需要绑定到什么吗?

 

[此贴子已经被作者于2015/7/14 19:44:30编辑过]

--  作者:大红袍
--  发布时间:2015/7/14 19:44:00
--  

请,去学习基础语法

 

g.Filter = "教师姓名 = \'" & e.Form.Controls("ComboBox1").Text & "\'"


--  作者:bestorange
--  发布时间:2015/7/14 19:58:00
--  

来源列如果是这个签到表 教师姓名列,那么同一姓名的选项太多了,能不能在组合框里相同的名字只出现一次呢

 


--  作者:大红袍
--  发布时间:2015/7/14 19:59:00
--  
以下是引用bestorange在2015/7/14 19:58:00的发言:

来源列如果是这个签到表 教师姓名列,那么同一姓名的选项太多了,能不能在组合框里相同的名字只出现一次呢

 

 

参考 http://www.foxtable.com/help/topics/1523.htm

 


--  作者:bestorange
--  发布时间:2015/7/14 20:16:00
--  

您给的这个参考,是指每一列下的多行内容都不同的情况

 

我现在是想知道比如我数据来源列 如下图为教师名称

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150714201434.png
图片点击可在新窗口打开查看

那么组合框的下拉菜单中就会出现4个程莉。我能否设置成相同名字只显示一次呢


--  作者:大红袍
--  发布时间:2015/7/14 20:28:00
--  
 6楼的就是答案
--  作者:bestorange
--  发布时间:2015/7/14 20:49:00
--  

。。。。可能我智商太低了,真没看明白  是示例2?

 


--  作者:大红袍
--  发布时间:2015/7/14 20:52:00
--  
 实例一