Foxtable(狐表)用户栏目专家坐堂 → [求助]根据字段内容选择WORD模板打印


  共有3755人关注过本帖树形打印复制链接

主题:[求助]根据字段内容选择WORD模板打印

帅哥哟,离线,有人找我吗?
wusim
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
[求助]根据字段内容选择WORD模板打印  发帖心情 Post By:2021/7/30 7:25:00 [只看该作者]

根据字段内容选择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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/30 8:39:00 [只看该作者]

贴出完整代码,并把表数据截图说明

 回到顶部
帅哥哟,离线,有人找我吗?
wusim
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2021/7/30 9:10:00 [只看该作者]

代码见1楼

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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()


 回到顶部