以文本方式查看主题

-  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=170546)

--  作者:wusim
--  发布时间:2021/7/30 7:25:00
--  [求助]根据字段内容选择WORD模板打印
根据字段内容选择WORD模板打印? 只打印字段内容相同的多个记录没有问题,但是当打印字段内容不同的多个记录就存在问题,不能自动选择模板打印(批量打印)?例如:2条记录,设备品种有:电梯、自动扶梯,就不会选择相应的模板打印(不能连续打印,只能一个一个选择打印),下面的公式哪里出错?

打印记录按钮代码:

Dim dr As DataRow = Tables("电梯抽查").current.DataRow

If dr("设备品种") Like "曳*" Then

    Dim tm As String  = ProjectPath & "Attachments\\电梯监督抽查原始记录0625.docx" \'指定模板文件

    Dim fl As String = ProjectPath & "Reports\\电梯监督抽查原始记录0625.docx" \'指定目标文件

    Dim wrt As New WordReport(Tables("电梯抽查"),tm,fl) \'定义一个WordReport

    wrt.Build() \'生成报表

    wrt.Show() \'显示报表

Else

    Dim tm As String  = ProjectPath & "Attachments\\自动扶梯监督抽查原始记录0625.docx" \'指定模板文件

    Dim fl As String = ProjectPath & "Reports\\自动扶梯监督抽查原始记录0625.docx" \'指定目标文件

    Dim wrt As New WordReport(Tables("电梯抽查"),tm,fl) \'定义一个WordReport

    wrt.Build() \'生成报表

    wrt.Show() \'显示报表

End If



此主题相关图片如下:02.jpg
按此在新窗口浏览图片

此主题相关图片如下:01.jpg
按此在新窗口浏览图片


[此贴子已经被作者于2021/7/30 8:54:33编辑过]

--  作者:有点蓝
--  发布时间:2021/7/30 8:39:00
--  
贴出完整代码,并把表数据截图说明
--  作者:wusim
--  发布时间:2021/7/30 9:10:00
--  
代码见1楼
--  作者:有点蓝
--  发布时间:2021/7/30 9:46:00
--  
原因

示例一

常规的根据模板生成报表:

Dim tm As String  = ProjectPath & "Attachments\\出库单.doc" \'指定模板文件
Dim 
fl As String = ProjectPath & "Reports\\出库单.doc" \'指定目标文件
Dim 
wrt As New WordReport(Tables("出库"),tm,fl\'定义一个WordReport
wrt.Build()
 \'逐行生成报表
wrt.Show() 
\'显示报表

提示,Build方法根据当前选定行生成报表。


解决方法:
1、根据添加筛选后选中所有行再输出,比如
Tables("电梯抽查").filter = "设备品种 like \'%\'"
Tables("电梯抽查").select(0,0,Tables("电梯抽查").rows.count - 1,0)

   Dim tm As String  = ProjectPath & "Attachments\\电梯监督抽查原始记录0625.docx" \'指定模板文件

    Dim fl As String = ProjectPath & "Reports\\电梯监督抽查原始记录0625.docx" \'指定目标文件

    Dim wrt As New WordReport(Tables("电梯抽查"),tm,fl) \'定义一个WordReport

    wrt.Build() \'生成报表

    wrt.Show()