以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  excel报表中插入index后,能否根据分组重新递增  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95235)

--  作者:bahamute
--  发布时间:2017/1/13 17:16:00
--  excel报表中插入index后,能否根据分组重新递增
excel报表中插入index后,能否根据分组重新递增?而不是连续递增?
--  作者:有点色
--  发布时间:2017/1/13 17:32:00
--  

 你要用报表事件处理

 

http://www.foxtable.com/webhelp/scr/1953.htm

 

http://www.foxtable.com/webhelp/scr/1958.htm

 

http://www.foxtable.com/webhelp/scr/1955.htm

 


--  作者:bahamute
--  发布时间:2017/1/16 15:35:00
--  
多谢回复,这几个报表事件都看了,但还是不太明白,

继续请教:
让index根据分组重新从1开始计数,代码是应该放到BuildDetail事件中?

如何判断分组已改变?
[此贴子已经被作者于2017/1/16 15:35:25编辑过]

--  作者:有点色
--  发布时间:2017/1/16 15:37:00
--  

设置一个变量vars("Index")

 

分组事件写 vars("Index") = 1

 

BuildDetail事件,写 vars("Index") += 1,然后给对应的单元格赋值


--  作者:bahamute
--  发布时间:2017/1/17 8:23:00
--  
谢谢有点色版主
这样设置后有效果,但还是不太对劲,每页都会从头计数,而不是按照分组。

BuildGroupHeader事件代码:
 vars("Index") = 1

BuildDetail事件代码: 
vars("Index") += 1
e.Book.Marks("序号") = vars("Index") 

--  作者:有点色
--  发布时间:2017/1/17 9:32:00
--  

有一个参数

 

NewPage:   逻辑型,如果此分组头是因为换页而重复打印的,则返回True,否则返回False。

 

If e.NewPage = False Then Vars("Index") = 1


--  作者:bahamute
--  发布时间:2017/1/17 10:30:00
--  
顺利解决,非常感谢。