以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  excel报表设置了打印过滤条件,通过窗口的button打印时出现模板调用成功,但是输出的打印表“间断出现”没有数据,可能什么原因啊?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=139992)

--  作者:guosheng
--  发布时间:2019/8/27 10:36:00
--  excel报表设置了打印过滤条件,通过窗口的button打印时出现模板调用成功,但是输出的打印表“间断出现”没有数据,可能什么原因啊?
窗口类型是独立窗口,是窗口的所有者表或其他属性没设置好导致的吗?
弹窗 过滤条件 也没问题。
打印按钮的事件代码:
Dim filter,ss,ss1 As String
Dim s5 As String = e.form.controls("开始日期").value
Dim s6 As String = e.form.controls("结束日期").value

Dim fds As String
If s5<>Nothing
    fds="提交日期>= # "& s5 &" #"
    If filter>"" Then
        filter=filter & " and "      
    End If
    filter=filter & fds
End If
If s6<>Nothing
    fds="提交日期<= # "& s6 &" #"
    If filter>"" Then
        filter=filter & " and "
        
    End If
    filter=filter & fds
End If

Dim filter1,filter2 As String
If filter>"" Then
        filter1=filter & " and  [审核人] is not null"
        filter2=filter & " and  [审核人] is null"

Else
        filter1="[审核人] is not null"
        filter2="[审核人] is null"
End If
messagebox.show(filter1)


If s5<>Nothing
ss=s5
Else
ss="未指定"
End If

If s6 <>Nothing
ss1=s6
Else
ss1="未指定"
End If

If FileIsOpened(ProjectPath & "Reports\\佣金明细.pdf")= True Then
     ShowAppWindow("佣金明细.pdf",5)
End  If

messagebox.show(filter1)
Dim Book As New XLS.Book(ProjectPath & "Attachments\\佣金明细.xls") \'打开模板
Dim fl As String = ProjectPath & "Reports\\佣金明细.pdf"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(4,20).Value = "<" & filter1 & ">"

If s5 <> Nothing
Sheet(2,9).Value = s5
Else
Sheet(2,9).Value = "未指定"
End If
If s6 <> Nothing
Sheet(2,10).Value ="至  " & s6
Else
Sheet(2,10).Value ="至  未指定"
End If
Book.Build() \'生成报表
Book.SaveToPDF(fl) \'保存为PDF文件
Dim Proc As New Process \'打开PDF文件
Proc.File = fl
Proc.Start()
[此贴子已经被作者于2019/8/27 10:36:54编辑过]

--  作者:有点蓝
--  发布时间:2019/8/27 10:49:00
--  
数据有没有加载?有没有符合条件的数据?

messagebox.show(filter1)显示什么内容?

模板和实例发上来测试一下

--  作者:guosheng
--  发布时间:2019/8/27 12:17:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
测试过,找到原因了,只要最右侧 黑色框内的 tab页面 大于 2个时,会出现打印时就会出现——调用模板成功,但是打印数据为空。
如果页面数量为2时,不会出现以上情况。
什么原因啊?
[此贴子已经被作者于2019/8/27 12:38:02编辑过]

--  作者:有点蓝
--  发布时间:2019/8/27 13:38:00
--  
是不是和模板绑定的表有关?用的是主表还是副本的数据?
--  作者:guosheng
--  发布时间:2019/8/27 15:11:00
--  
filter1弹窗见附件。
tab的页面是动态生成的。我做了个例子,没有出现 打印为空的现象。
我最后,强制把tab的页面关闭的剩下2个,问题解决了。

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看


--  作者:guosheng
--  发布时间:2019/8/27 15:15:00
--  
通过 报表管理--增加  添加的模板,应该是主表吧
--  作者:有点蓝
--  发布时间:2019/8/27 15:26:00
--  
请上传具体实例测试