以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  word报表如何实现多行数据共用同一个表头?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=136145)

--  作者:jq_shang
--  发布时间:2019/6/8 15:14:00
--  word报表如何实现多行数据共用同一个表头?
如题,请教。
示例:
员工情况简表:
表头为:姓名,性别,年龄等
表中内容,每行一位员工。
我出现的问题是:
如果模板,只设置一个数据行,(设置每页8个数据行),实际报表情况是,每个员工都要重新调用一遍表头。
如果模板,直接复制成8个行,实际报表是,这8个行显示的是同一个员工的信息。
请教如何实现多个员工共用同一个表头,直至换页,再重新提取表头。
[此贴子已经被作者于2019/6/8 15:33:17编辑过]

--  作者:有点蓝
--  发布时间:2019/6/8 15:32:00
--  
1、使用子表:http://www.foxtable.com/webhelp/scr/2886.htm

2、使用代码Replace替换需要显示的内容:http://www.foxtable.com/webhelp/scr/2890.htm

3、改为使用execl报表

--  作者:jq_shang
--  发布时间:2019/6/8 15:40:00
--  
谢谢蓝版主!
--  作者:jq_shang
--  发布时间:2019/6/8 16:43:00
--  
用前两个方法都达不到目的啊!
1、数据本身都在同一个表中,没有必要建立子表,并且同表关联……
2、用不着Replace这么复杂的东东,我用以下代码生成了报表,还是每条记录都要重复用到同一个表头。
Dim tm As String  = ProjectPath & "Attachments\\员工情况简表.doc" \'指定模板文件
Dim fl As String = ProjectPath & "Reports\\员工情况简表.doc" \'指定目标文件
Dim wrt As New WordReport(Tables("员工基础表"),tm,fl) \'定义一个WordReport
For Each r As Row In Tables("员工基础表").Rows
    r("选") = True
    wrt.BuildOne(r)
Next
wrt.Show() \'显示报表
3、难道只有使用EXCEL报表吗?
4、另外,能不能用窗口显示生成的EXCEL报表?帮助文件中没有找到。
[此贴子已经被作者于2019/6/8 16:50:57编辑过]

--  作者:有点蓝
--  发布时间:2019/6/8 17:14:00
--  
那就只能使用EXCEL报表了


--  作者:jq_shang
--  发布时间:2019/6/8 18:34:00
--  
我刚才试着用窗口打开word报表,正愁着office工具栏占地方呢,看到蓝版主上面的提示,我在窗口命令代码中加入了wbr.OfficeToolBar = false 语句,(还是弄word呢)。结果发现,这条语句有时起作用,有时不起作用,为什么呢?
Dim wbr As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
Dim tm As String  = ProjectPath & "Attachments\\干部履历表.doc" 
Dim fl As String = ProjectPath & "Reports\\干部履历表.doc" 
Dim wrt As New WordReport(Tables("员工基础表"),tm,fl) 
wrt.Build()
wrt.Quit()
wbr.OfficeToolBar = False 
wbr.AddRess = fl
[此贴子已经被作者于2019/6/8 18:34:26编辑过]

--  作者:有点甜
--  发布时间:2019/6/9 11:08:00
--  

试试

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=45959&replyID=&skin=1