Foxtable(狐表)用户栏目专家坐堂 → [求助]WORD报表打印


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

主题:[求助]WORD报表打印

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


加好友 发短信
等级:小狐 帖子:388 积分:3147 威望:0 精华:0 注册:2008/8/31 20:44:00
[求助]WORD报表打印  发帖心情 Post By:2015/5/22 7:25:00 [只看该作者]

Dim dr As DataRow = Tables("表A").current.DataRow
If dr("设备名称") Like "自*" Then
Dim tm As String  = ProjectPath & "Attachments\记录1模板.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\记录1.doc" '指定目标文件
Dim wrt As New WordReport(Tables("表A"),tm,fl) '定义一个WordReport
wrt.Build() '生成报表
wrt.Show() '显示报表
Else 
Dim tm As String  = ProjectPath & "Attachments\记录2模板.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\记录2.doc" '指定目标文件
Dim wrt As New WordReport(Tables("表A"),tm,fl) '定义一个WordReport
wrt.Build() '生成报表
wrt.Show() '显示报表
End If


当我只选一个记录打印WORD报表时,可以正确选择显示报表,但是当我用鼠标选取多行记录打印时,只有用鼠标选取的第一行记录的可以正确选择显示报表,其他行的显示都会与第一行显示的一样。 请问题能不能解决多行打印时,每一行记录也可以正解选择所显示的报表。

如果能解决,能不能与这段代码结合
Dim t As Table = Tables("表A")
For i As Integer = t.TopPosition To t.BottomPosition
    Dim fdr As Row = t.Rows(i)
    If fdr.IsNull("报告编号") = False Then
       fdr("打印次数") = val(fdr("打印次数")) + 1
        e.Form.Controls("Label1").Text = val(fdr("打印次数"))
    End If
Next


[此贴子已经被作者于2015/5/22 7:32:27编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/22 8:35:00 [只看该作者]

上个例子看看

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


加好友 发短信
等级:小狐 帖子:388 积分:3147 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2015/5/22 9:18:00 [只看该作者]

例子

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


加好友 发短信
等级:小狐 帖子:388 积分:3147 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2015/5/22 9:18:00 [只看该作者]

这个才是 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

[此贴子已经被作者于2015/5/22 9:19:32编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/22 9:23:00 [只看该作者]

我测试的情况是选那些行,就有打印那些行哦


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150522092300.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 9:32:00 [只看该作者]

 不会有你这种情况,模板肯定有问题。

 

 请上传具体例子


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


加好友 发短信
等级:小狐 帖子:388 积分:3147 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2015/5/22 11:09:00 [只看该作者]

自动扶梯是模板1 曳引式客梯是模板2 你的截图全是模板2

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/22 11:13:00 [只看该作者]



Dim t As Table = Tables("表A")
For i As Integer = t.TopPosition To t.BottomPosition
    Dim dr As DataRow = Tables("表A").Rows(i).DataRow
    If dr("设备名称") Like "自*" Then
    Dim tm As String  = ProjectPath & "Attachments\模板1.doc" '指定模板文件
    Dim fl As String = ProjectPath & "Reports\模板1.doc" '指定目标文件
    Dim wrt As New WordReport(Tables("表A"),tm,fl) '定义一个WordReport
    wrt.BuildOne(dr) '生成报表
    wrt.Show() '显示报表
Else
    Dim tm As String  = ProjectPath & "Attachments\模板2.doc" '指定模板文件
    Dim fl As String = ProjectPath & "Reports\模板2.doc" '指定目标文件
    Dim wrt As New WordReport(Tables("表A"),tm,fl) '定义一个WordReport
    wrt.BuildOne (dr) '生成报表
    wrt.Show() '显示报表
End If
    Dim fdr As Row = t.Rows(i)
    If fdr.IsNull("报告编号") = False Then
        fdr("打印次数") = val(fdr("打印次数")) + 1
    End If
Next

这个意思?
[此贴子已经被作者于2015/5/22 11:13:33编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 11:18:00 [只看该作者]

以下是引用wusim在2015/5/22 11:09:00的发言:
自动扶梯是模板1 曳引式客梯是模板2 你的截图全是模板2

 

word模板是不能按照你这样分开打印的,所选取的行,必须打印在同一个报表里面。

 

除非你这样做:1、做一个临时表,把同类型的行,添加进去,生成报表;2、在把另一个类型的行添加进去,再生成一次报表。


 回到顶部