以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 某列为空时,报表不生成该行数据 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=124185) |
-- 作者:aza520 -- 发布时间:2018/9/1 9:45:00 -- 某列为空时,报表不生成该行数据 用报表模板生成报表,以下是生成报表代码,想实现当“费用类别”列为空时,报表不生成该行数据,如报表中的序号1行,请问老师,该怎么处理? Dim Book As New XLS.Book(ProjectPath & "Attachments\\资金使用状况表.xlsx") Dim fl As String = ProjectPath & "Reports\\资金使用状况表.xlsx" book.AddDataTable("资金使用状况表","xlgl","Selec t *, (selec t sum(Case When 结算金额 Is null Then 0 Else 结算金额 End * 1) fro m {合同执行明细} b where a.项目名称=b.项目名称 and a.合同编号=b.合同编号) As [结算金额] fro m {合同信息表} a " & IIF(DataTables("合同信息表").LoadFilter > ""," where " & DataTables("合同信息表").LoadFilter,"")) Book.Build() Book.Save(fl) Dim Proc As New Process Proc.File = fl Proc.Start() 报表模板: 生成的报表: |
-- 作者:有点蓝 -- 发布时间:2018/9/1 10:02:00 -- book.AddDataTable("资金使用状况表","xlgl","Select *, (selec t sum(Case When 结算金额 Is null Then 0 Else 结算金额 End * 1) from {合同执行明细} b where a.项目名称=b.项目名称 and a.合同编号=b.合同编号) As [结算金额] from {合同信息表} a where a.费用类别 is not null " & IIF(DataTables("合同信息表").LoadFilter > ""," and " & DataTables("合同信息表").LoadFilter,"")) |
-- 作者:aza520 -- 发布时间:2018/9/1 10:15:00 -- Dim Book As New XLS.Book(ProjectPath & "Attachments\\资金使用状况表.xlsx") Dim fl As String = ProjectPath & "Reports\\资金使用状况表.xlsx" book.AddDataTable("资金使用状况表","xlgl","Selec t *, (selec t sum(Case When 结算金额 Is null Then 0 Else 结算金额 End * 1) from {合同执行明细} b where a.项目名称=b.项目名称 and a.合同编号=b.合同编号) As [结算金额] from {合同信息表} a where a.费用类别 is not null " & IIF(DataTables("合同信息表").LoadFilter > ""," and " & DataTables("合同信息表").LoadFilter,"")) Book.Build() Book.Save(fl) Dim Proc As New Process Proc.File = fl Proc.Start() 老师,改成这样,还是不行
|
-- 作者:有点蓝 -- 发布时间:2018/9/1 10:29:00 -- 请上传实例说明 |