Foxtable(狐表)用户栏目专家坐堂 → 生成报表问题


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

主题:生成报表问题

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
生成报表问题  发帖心情 Post By: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()

报表:

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


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


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

Dim str = DataTables("计量汇总").SQLGetComboListString("计量期次", DataTables("计量汇总").LoadFilter)

 

改成

 

Dim str = DataTables("计量汇总").GetComboListString("计量期次")

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2018/12/11 16:52:00 [只看该作者]

老师,改了之后还是会生成所有后台数据

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


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

看不懂你表达的意思。上传具体实例测试。说明执行什么,应该得到什么数据。


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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2018/12/11 17:20:00 [只看该作者]

比如现我全部数据有5行(图一),通过加载树选择加载时,选择加载了1行数据(如图二),这时我想生成的报表就是当前加载的这1行数据,而不是所有的5行数据都生成。

图一:

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

图二:

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



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


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

1、你table的表格是哪个表?

 

2、你生成的时候不需要这段代码啊

 

DataTables("中间计量表").loadTop = ""
DataTables("中间计量表").loadpage = 0
DataTables("中间计量表").load

 

3、具体实例发上来测试。


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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2018/12/11 18:00:00 [只看该作者]

老师,上传了实例,请老师打开计量统计窗口,我是通过选定该窗口中子表的行来加载”中间计量表“的数据,然后想通过点击”分项工程中期计量支付表“按钮,生成报表,该报表的数据是此时”中间计量表“已加载的数据。

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



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


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

直接保留这段代码就可以了啊

 

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()


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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2018/12/11 19:06:00 [只看该作者]

我测试过这段代码,如果是分页加载的,比如有两页,则只会生成当前加载页,其它页的数据就不会生成

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

 回到顶部