以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 生成报表问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128591) |
-- 作者:aza520 -- 发布时间:2018/12/11 12:43:00 -- 生成报表问题 中间计量表是子表,我想生成当前所有加载页的数据报表,但以下代码会把所有的后台数据都生成报表,请问老师是什么问题 Systemready = False DataTables("中间计量表").loadTop = "" DataTables("中间计量表").loadpage = 0 DataTables("中间计量表").load Systemready = True Dim str = DataTables("计量汇总").SQLGetComboListString("计量期次", DataTables("计量汇总").LoadFilter) str = str.replace("|", "\',\'") DataTables("中间计量表").LoadFilter = "计量期次 in (\'" & str & "\')" DataTables("中间计量表").LoadTop = "" DataTables("中间计量表").LoadPage = 0 DataTables("中间计量表").Load Dim Book As New XLS.Book(ProjectPath & "Attachments\\分项工程中期计量支付表.xlsx") Dim fl As String = ProjectPath & "Reports\\分项工程中期计量支付表.xlsx" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() 报表: |
-- 作者:有点甜 -- 发布时间:2018/12/11 15:01:00 -- Dim str = DataTables("计量汇总").SQLGetComboListString("计量期次", DataTables("计量汇总").LoadFilter)
改成
Dim str = DataTables("计量汇总").GetComboListString("计量期次")
|
-- 作者:aza520 -- 发布时间:2018/12/11 16:52:00 -- 老师,改了之后还是会生成所有后台数据 |
-- 作者:有点甜 -- 发布时间:2018/12/11 17:01:00 -- 看不懂你表达的意思。上传具体实例测试。说明执行什么,应该得到什么数据。 |
-- 作者:aza520 -- 发布时间:2018/12/11 17:20:00 -- 比如现我全部数据有5行(图一),通过加载树选择加载时,选择加载了1行数据(如图二),这时我想生成的报表就是当前加载的这1行数据,而不是所有的5行数据都生成。 图一: 图二:
|
-- 作者:有点甜 -- 发布时间:2018/12/11 17:36:00 -- 1、你table的表格是哪个表?
2、你生成的时候不需要这段代码啊
DataTables("中间计量表").loadTop = ""
DataTables("中间计量表").loadpage = 0
DataTables("中间计量表").load
3、具体实例发上来测试。 |
-- 作者:aza520 -- 发布时间:2018/12/11 18:00:00 -- 老师,上传了实例,请老师打开计量统计窗口,我是通过选定该窗口中子表的行来加载”中间计量表“的数据,然后想通过点击”分项工程中期计量支付表“按钮,生成报表,该报表的数据是此时”中间计量表“已加载的数据。 |
-- 作者:有点甜 -- 发布时间:2018/12/11 18:05:00 -- 直接保留这段代码就可以了啊
Dim Book As New XLS.Book(ProjectPath & "Attachments\\分项工程中期计量支付表.xlsx") |
-- 作者:aza520 -- 发布时间:2018/12/11 19:06:00 -- 我测试过这段代码,如果是分页加载的,比如有两页,则只会生成当前加载页,其它页的数据就不会生成 |
-- 作者:有点蓝 -- 发布时间:2018/12/11 20:01:00 -- DataTables("中间计量表").loadTop = nothing DataTables("中间计量表").load im Book As New XLS.Book(ProjectPath & "Attachments\\分项工程中期计量支付表.xlsx")
Dim fl As String = ProjectPath & "Reports\\分项工程中期计量支付表.xlsx" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() |