以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]多表交叉统计 增加统计历史保存 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=96194) |
||||
-- 作者:jyh7081 -- 发布时间:2017/2/15 11:17:00 -- [求助]多表交叉统计 增加统计历史保存 在”有点色“老师的 帮助下,重新设计了 多表交叉统计 窗口,还存在下列问题,请老师再出手指教: 1、如果对统计列要统计平均数如何改代码; 2、双击“统计管理”列表框的值,把“统计管理”数据表中的当前行,赋值给统计窗口的各个“CheckedComboBox”; 3、当“添加分析表”选中两个表时,“数据分析列”不能动态显示选中表的所有列,只能选中一个表的列; |
||||
-- 作者:有点色 -- 发布时间:2017/2/15 11:52:00 -- 代码一样。
1、如果勾选,那么就执行平均数的统计代码;
2、去表格查找对应的行,然后给左边逐个赋值进去;
3、
If e.Form.Controls("CheckedComboBox5").Text <> "" Then |
||||
-- 作者:jyh7081 -- 发布时间:2017/2/15 14:34:00 -- 谢谢老师,你提示的两点都解决了。(麻烦给审核一下,谢谢!) [此贴子已经被作者于2017/2/15 14:57:57编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/2/15 16:02:00 -- http://www.foxtable.com/webhelp/scr/1627.htm 帮助最后,看同名列的处理
|
||||
-- 作者:有点色 -- 发布时间:2017/2/15 16:14:00 -- Dim sql As String = "" For Each s As String In e.Form.Controls("CheckedComboBox8").text.Split("|") b.Decimals = 2 If e.Form.Controls("CheckBox1").checked = True Then \'水平方向生成汇总 b.Filter = e.Form.Controls("TextBox1").Text b.Build \'生成统计表 |
||||
-- 作者:jyh7081 -- 发布时间:2017/2/15 16:30:00 -- [求助] 老师,还是不行呀。 另外,让关联的[时间]列在下拉列表不显示行不行?
[此贴子已经被作者于2017/2/15 16:38:59编辑过]
|
||||
-- 作者:有点色 -- 发布时间:2017/2/15 18:08:00 -- 我测试,没问题。
If e.Form.Controls("CheckedComboBox5").Text <> "" Then |
||||
-- 作者:jyh7081 -- 发布时间:2017/2/15 20:01:00 -- 老师,我把代码都写进窗口了,并保存了两个例子。你双击一下,第二个确实没有内容,也没报错,但应该同第一个统计内容相同才对。 另外,7楼的代码加上这句“ For Each c As Col In Tables(tname).Cols”后,就不出选择项了。
附件:
|
||||
-- 作者:有点色 -- 发布时间:2017/2/16 2:47:00 -- Dim sql As String = "" For Each s As String In e.Form.Controls("CheckedComboBox5").text.Split("|") For Each s As String In e.Form.Controls("CheckedComboBox8").text.Split("|") b.Decimals = 2 If e.Form.Controls("CheckBox1").checked = True Then \'水平方向生成汇总 b.Filter = e.Form.Controls("TextBox1").Text b.Build \'生成统计表 |
||||
-- 作者:jyh7081 -- 发布时间:2017/2/16 11:01:00 -- 还有一点问题,就是当勾选汇总方式后,汇总行的小数点总是显示4位,“ b.Decimals = 2 “放到哪里对汇总行都不起作用。 |