Foxtable(狐表)用户栏目专家坐堂 → [求助]word 报表出错


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

主题:[求助]word 报表出错

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


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
[求助]word 报表出错  发帖心情 Post By:2017/11/2 22:11:00 [只看该作者]

.NET Framework 版本:2.0.50727.8794
Foxtable 版本:2017.10.26.1
错误所在事件:窗口,理化检测,Button10,Click
详细错误信息:
RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA)
word报表时出现的,看了下文件夹,报表已经生成了,但是窗口没打开,出现上面错误提示
代码如下:
Dim r As Row = Tables("理化检测_table3").Current
r("报告日期") = Date.Today()
Dim tm As String = ProjectPath & "Attachments\检测报告.doc" '指定模板文件
Dim ffx As String = ProjectPath & "attachments\Reports\fxreports\" & e.form.controls("TextBox9").Text & ".doc" '指定目标文件
Dim wrtfx As New WordReport(Tables("理化检测_table3"),tm,ffx) '定义一个WordReport
Dim fjx As String = ProjectPath & "attachments\Reports\jxreports\" & e.form.controls("TextBox9").Text & ".doc" '指定目标文件
Dim wrtjx As New WordReport(Tables("理化检测_table3"),tm,fjx)

If user.group = "分析室" Then
    wrtfx.Build() '逐行生成报表
    wrtfx.quit() '显示报表
ElseIf user.group = "金相室" Then
    wrtjx.Build()
    wrtjx.quit()
End If
r("检测状态") = "已发报告"

Forms("检测报告").open
[此贴子已经被作者于2017/11/2 22:33:53编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/2 23:03:00 [只看该作者]

1、打开任务管理器,把word进程全部删除掉,再测试;

 

2、看看 https://www.baidu.com/baidu?wd=RPC+%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8D%E5%8F%AF%E7%94%A8

 


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


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
  发帖心情 Post By:2017/11/3 8:17:00 [只看该作者]

老师,后台没有word进程,重新启动都不行,还有RPC调用,我屏蔽其它语句就留其中一个报告,报表就没问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/3 9:00:00 [只看该作者]

改代码

 

Dim r As Row = Tables("理化检测_table3").Current
r("报告日期") = Date.Today()

Dim tm As String = ProjectPath & "Attachments\检测报告.doc" '指定模板文件
If user.group = "分析室" Then
    Dim ffx As String = ProjectPath & "attachments\Reports\fxreports\" & e.form.controls("TextBox9").Text & ".doc" '指定目标文件
    Dim wrtfx As New WordReport(Tables("理化检测_table3"),tm,ffx) '定义一个WordReport
    wrtfx.Build() '逐行生成报表
    wrtfx.quit() '显示报表
ElseIf user.group = "金相室" Then
    Dim fjx As String = ProjectPath & "attachments\Reports\jxreports\" & e.form.controls("TextBox9").Text & ".doc" '指定目标文件
    Dim wrtjx As New WordReport(Tables("理化检测_table3"),tm,fjx)
    wrtjx.Build()
    wrtjx.quit()
End If
r("检测状态") = "已发报告"


Forms("检测报告").open


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


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
  发帖心情 Post By:2017/11/3 10:32:00 [只看该作者]

老师,这个问题已经解决,但是报表退出后我用新窗口在浏览器中打开,打开分析室的没问题,其他的加载不上怎么回事?
代码如下:
Dim wbr As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
wbr.OfficeToolBar = False
If user.group = "分析室" Then
    Dim ffx As String = ProjectPath & "attachments\Reports\fxreports\" & Forms("理化检测").controls("TextBox9").Text & ".doc"
    wbr.Address = ffx
ElseIf user.group = "金相室" Then
    Dim fjx As String = ProjectPath & "attachments\Reports\jxreports\" & Forms("理化检测").controls("TextBox9").Text & ".doc"
    wbr.Address = fjx
End If

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/3 11:49:00 [只看该作者]

测试没有问题。

可能你的office有问题,卸载重新安装,或者换个其他版本安装

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/3 11:56:00 [只看该作者]

1、去项目那里看是否生成了word报表。

 

2、弹出对应的值,看是否进入执行了代码 msgbox(user.group )


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


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
  发帖心情 Post By:2017/11/3 11:57:00 [只看该作者]

老师,不是0ffice 的事,前面已经没问题了,就是生成的报表因为需要添加一些数据就又在一个新窗口用浏览器打开,添加完以后在保存成PDF格式的现在报表都没问题,报完表后自动打开新窗口,我用上面的代码只能打开分析室的报告,而其余的则浏览器加载不上,生成报表后自动打开窗口的
Forms("检测报告").open

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


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
  发帖心情 Post By:2017/11/3 11:58:00 [只看该作者]

报表已经生成了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/3 12:48:00 [只看该作者]

修改代码

 

Forms("检测报告").open

Dim wbr As WinForm.WebBrowser = Forms("检测报告").Controls("WebBrowser1")
wbr.OfficeToolBar = False

Dim fjx As String = ProjectPath & "attachments\Reports\jxreports\" & Forms("理化检测").controls("TextBox9").Text & ".doc"

wbr.Address = fjx

 回到顶部
总数 17 1 2 下一页