以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 升序就无反应 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122647) |
||||
-- 作者:yangwenghd -- 发布时间:2018/7/30 14:56:00 -- 升序就无反应
能不帮忙看看这个案例吗?先点击右边窗口的按钮,然后在升序或者降序分析结果就无响应,是代码有问题还是我的电脑配置不够啊,感谢 感谢 |
||||
-- 作者:有点甜 -- 发布时间:2018/7/30 15:43:00 -- 表达式列排序是比较慢的,特别是你有统计计算的时候,就更慢了,卡死是正常情况。
如果想排序,请改成数据列,用代码统计和赋值。 |
||||
-- 作者:yangwenghd -- 发布时间:2018/7/30 18:29:00 -- 是列的属性吗?没有看到数据列选项呢,用代码统计和赋值怎么做啊,感谢 感谢 |
||||
-- 作者:有点甜 -- 发布时间:2018/7/30 18:35:00 -- 以下是引用yangwenghd在2018/7/30 18:29:00的发言:
是列的属性吗?没有看到数据列选项呢,用代码统计和赋值怎么做啊,感谢 感谢
1、转换成数据列 http://www.foxtable.com/webhelp/scr/2494.htm
2、循环每一行,计算和赋值(你学了这么久,请自行编写代码,如果无法运行再贴出) |
||||
-- 作者:cbt -- 发布时间:2018/7/30 19:49:00 --
原理其实,就是在排序前,把 表达式 清空,排序后,再把表达式 放回去! [此贴子已经被作者于2018/7/30 19:51:17编辑过]
|
||||
-- 作者:yangwenghd -- 发布时间:2018/7/31 11:18:00 -- 感谢 感谢 对头,我想到了一个办法?就是单独创建一列,然后只有小数3位,(其实3为以后的小数是没有用的) 我可以这个样吗?分析结果转换到 另外一行,然后只获取小数点后两位,感谢 感谢 For Each R As Row In Tables("数据分析").Rows r("测试")=r(("分析结果"),"#,###") Next \'列的编号相等. |
||||
-- 作者:有点甜 -- 发布时间:2018/7/31 11:52:00 -- 回复6楼,不可以,你执行代码的时候你就知道了,获取r("分析结果")的数据很慢的。基本要1秒才能读取一行数据(每获取一次应该重新计算表达式一次) |
||||
-- 作者:yangwenghd -- 发布时间:2018/7/31 12:01:00 -- 那我这里可以结果只等于小数点三位吗? Dim b As WinForm.Button = e.Form.Controls("Button4") If b.Text = "分析结果" DataTables("数据分析").DataCols("分析结果").Expression = "[数据_点击率] + [等换比值_人气] + [等换比值_指数] - [等换比值_竞争]" b.Text = "停止分析" Else DataTables("数据分析").DataCols("分析结果").Expression = "" b.Text = "分析结果" End If
|
||||
-- 作者:有点甜 -- 发布时间:2018/7/31 13:16:00 -- 参考
http://www.foxtable.com/webhelp/scr/0050.htm
|
||||
-- 作者:yangwenghd -- 发布时间:2018/7/31 16:55:00 -- 感谢 感谢 我设置了,只是复制出来来说很多位呢,可以结果就只有3为吗 感谢 感谢 |