Foxtable(狐表)用户栏目专家坐堂 → 报表模板后台统计表达式


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

主题:报表模板后台统计表达式

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


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

 
改成你具体的条件啊,比如

msgbox(DataTables("零号清单").loadfilter)

Dim filter As String = DataTables("零号清单").loadfilter
IIF(filter > ""," where " & filter,"")
msgbox(filter)

 


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


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

老师,我就是不知道这个具体条件该怎么写,水平有限啊

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


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

还请老师帮我在实例中改一下



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


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

 

 

Dim Book As New XLS.Book(ProjectPath & "Attachments\中期支付证书.xlsx")
Dim fl As String = ProjectPath & "Reports\中期支付证书.xlsx"

 

msgbox(DataTables("零号清单").loadfilter)

Dim filter As String = DataTables("零号清单").loadfilter
filter = IIF(filter > ""," where " & filter,"")
msgbox(filter)

book.AddDataTable("中期支付证书","xlgl","select * from (select a.支付编号, a.细目名称, a.图纸数量, a.单价, a.章节, a.桩号, b.* from {零号清单} as a inner join (select 项目名称,施工合同段,sum(图纸数量 * 单价) as 图纸金额 from {零号清单} group by 项目名称,施工合同段) as b on a.项目名称=b.项目名称 and a.施工合同段=b.施工合同段) as c " & filter)
Book.Build()
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()


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


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

老师,上一楼生成报表代码生成的报表统计数量会成倍统计,如图一中,我零号清单表只有3行记录,图纸金额和变更后金额汇总后分别是3000和6000,但生成的报表却是9000和18000,翻3倍统计。如果我删掉一行记录,图纸金额和变更后金额汇总后分别是2000和4000,则生成的报表则是4000和8000,翻2位统计。请总老师是什么问题?

图一:

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

图二:

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



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


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

 

弹出sql语句,在sql测试窗口测试sql语句,看查出来的结果是否正确。

 


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


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

执行SQL语句得出的结果,例如No.2合同段,会把所有的数据汇总统计加到每一行,然后再汇总统计加到报表里。应该是这行代码的问题,请问老师这行代码怎么改?


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


No.2合同段实际数量:

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


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


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

 

看不懂你的逻辑,既然【零件清单】是正确的,那你就直接加载零件清单出来就好了啊。后台加载或者直接在表格那里加载啊。

 


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


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

我想按照不同的项目名称、施工合同段、章节三个条件进行统计,我把原来代码增加了红色部分,运行时显示错误:多次为 'c' 指定了列 '章节'。

book.AddDataTable("中期支付证书","xlgl","selec t * fro m (selec t a.支付编号, a.细目名称, a.图纸数量, a.单价, a.章节, a.桩号, b.* fro m {零号清单} as a inner join (selec t 项目名称,施工合同段,章节,sum(图纸数量 * 单价) as 图纸金额,sum(变更后数量 * 单价) as 变更后金额 fro m {零号清单} group by 项目名称,施工合同段,章节) as b on a.项目名称=b.项目名称 and a.施工合同段=b.施工合同段 and a.章节=b.章节) as c " & filter)


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


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

 

我测试代码没问题。你把filter条件去掉后测试一下。

 

 


 回到顶部
总数 42 上一页 1 2 3 4 5 下一页