以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  后台生成报表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=111434)

--  作者:aza520
--  发布时间:2017/12/21 20:53:00
--  后台生成报表
我想后台生成包括所有户主的报表,下面的代码怎么修改,请老师指点

Dim Book As New XLS.Book(ProjectPath & "Attachments\\征地记录表.xls")
Dim fl As String = ProjectPath & "Reports\\征地记录表.xls"
book.AddDataTable("征地记录表","S征地记录","Select * fro m {S征地记录} where 户主姓名 = *") 
Book.Build() 
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

--  作者:有点甜
--  发布时间:2017/12/21 23:43:00
--  

book.AddDataTable("征地记录表","S征地记录","Select * from {S征地记录}") 

 

book.AddDataTable("征地记录表","S征地记录","Select * from {S征地记录} where 户主姓名 is not null") 

[此贴子已经被作者于2017/12/21 23:43:31编辑过]

--  作者:aza520
--  发布时间:2017/12/22 9:41:00
--  
老师,出现这个
.NET Framework 版本:2.0.50727.8766
Foxtable 版本:2017.12.18.1
错误所在事件:窗口,征地记录,Button7,Click
详细错误信息:
未将对象引用设置到对象的实例。

我想是后台生成当前加载的所有分页,请老师指点

--  作者:有点甜
--  发布时间:2017/12/22 9:46:00
--  
Dim Book As New XLS.Book(ProjectPath & "Attachments\\征地记录表.xls")
Dim fl As String = ProjectPath & "Reports\\征地记录表.xls"
book.AddDataTable("S征地记录","","Select * from {S征地记录} where " & DataTables("S征地记录").LoadFilter) 
Book.Build() 
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

--  作者:aza520
--  发布时间:2017/12/22 10:16:00
--  
老师,报表是可以生成了,但是报表有两列表达式列的金额数值没能出现,是什么问题
--  作者:有点甜
--  发布时间:2017/12/22 10:50:00
--  
以下是引用aza520在2017/12/22 10:16:00的发言:
老师,报表是可以生成了,但是报表有两列表达式列的金额数值没能出现,是什么问题

 

表达式列无法直接生成的。你要这样写,如

 

book.AddDataTable("S征地记录","","Select *, 单价*数量 as 金额, 长度*高度 as 面积 from {S征地记录} where " & DataTables("S征地记录").LoadFilter) 


--  作者:aza520
--  发布时间:2017/12/22 11:50:00
--  
Dim Book As New XLS.Book(ProjectPath & "Attachments\\征地记录表.xls")
Dim fl As String = ProjectPath & "Reports\\征地记录表.xls"
book.AddDataTable("S征地记录","","Select *, 征地数量*政府征地补偿标准 as 政府补偿金额合计(元), 征地数量*业主征地补偿标准*0.85 as 业主补助金额合计(元) fro m {S征地明细} where " & DataTables("S征地记录").LoadFilter) 
Book.Build() 
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

出现:SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确。

我的计算数据是从S征地明细表来的

--  作者:有点甜
--  发布时间:2017/12/22 12:21:00
--  
book.AddDataTable("S征地记录","","Select *, 征地数量*政府征地补偿标准 as [政府补偿金额合计(元)], 征地数量*业主征地补偿标准*0.85 as [业主补助金额合计(元)] from {S征地明细} where " & DataTables("S征地记录").LoadFilter)