以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 遍历统计工具,组合统计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88338) |
-- 作者:fubblyc -- 发布时间:2016/8/1 10:17:00 -- 遍历统计工具,组合统计 三个统计表,如上,想根据不同的选择情况进行组合统计。 不想分别做三个统计工具,而是想用比如 遍历 的方式 来 根据勾选的情况 ,进行 遍历统计 再 组合。 现在不知道 遍历 统计 怎么写。。。
Dim m As String If e.Form.Controls("CheckBox8").checked Then m = "陈列量" end if If e.Form.Controls("CheckBox9").checked Then m = "动销量" end if
If e.Form.Controls("CheckBox10").checked Then m = "库位销售分析" end if
For Each c As Object In e.Form.controls("groupbox3").children
Tables(e.Form.Name & "_table1").StopRedraw [此贴子已经被作者于2016/8/1 10:19:35编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/8/1 10:25:00 -- 不行啊,表名、列名 都不一样啊,即便写成循环,你也要把表名、列名、别名那些东西定义到数组里面记录的啊。 |
-- 作者:fubblyc -- 发布时间:2016/8/1 10:29:00 -- 主要是表名不一样,列名前面的分组的都一样,后面的统计列 可以 按 if 条件来。。。 分开写感觉代码很多,因为还有分组的列名有好多,而且都是一样的。所以就像试一下。 现在就不知道怎么把 表名 写成 数组里,然后遍历。。。 [此贴子已经被作者于2016/8/1 10:29:31编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/8/1 10:32:00 -- 那你就提取出来,定义到几个数组里,循环,分别取出。 |
-- 作者:fubblyc -- 发布时间:2016/8/1 11:23:00 -- 嗯嗯,有个问题: Dim ms As String()
下面的统计,每遍历一次,因为 CheckBox8 和 CheckBox9 和 CheckBox10 都有勾上,两个都会再统计一次。那问题: If e.Form.Controls("CheckBox8").checked Then \'遍历到 m = 动销量 时,就会报错,因为动销量的表 没有 陈列量 的这一列。有办法规避吗? |
-- 作者:大红袍 -- 发布时间:2016/8/1 11:28:00 -- 参考代码
Dim ary1() As String = {"CheckBox8", "CheckBox9", "CheckBox10"} for i as integer = 0 to ary1.length - 1 |
-- 作者:fubblyc -- 发布时间:2016/8/1 11:56:00 --
[此贴子已经被作者于2016/8/1 12:01:13编辑过]
|
-- 作者:fubblyc -- 发布时间:2016/8/1 11:57:00 --
[此贴子已经被作者于2016/8/1 12:00:56编辑过]
|
-- 作者:fubblyc -- 发布时间:2016/8/1 14:06:00 --
[此贴子已经被作者于2016/8/1 14:07:51编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/8/1 14:15:00 -- 没看到你发什么。 |