以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  后台打印报表表达式错误  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=119723)

--  作者:aza520
--  发布时间:2018/5/30 19:48:00
--  后台打印报表表达式错误
以下代码显示表达式有错,检查很久,看不出,请老师帮诊断下
Dim Book As New XLS.Book(ProjectPath & "Attachments\\安全费用表.xlsx")
Dim fl As String = ProjectPath & "Reports\\安全费用表.xlsx"
book.AddDataTable("安全费用表","xlgl","Selec t * ,Case When 数量 Is null Then 0 Else 数量 End * Case When 单价 Is null Then 0 Else 单价 End As [金额] fro m {安全费用表}  " & IIF(DataTables("安全费用表").LoadFilter > ""," where " & DataTables("安全费用表").LoadFilter,""))
Book.Build()
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()


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


--  作者:有点甜
--  发布时间:2018/5/30 21:19:00
--  

msgbox弹出很长的sql语句是否正确

 

msgbox("Selec t * ,(Case When 数量 Is null Then 0 Else 数量 End) * (Case When 单价 Is null Then 0 Else 单价 End) As [金额] from {安全费用表}  " & IIF(DataTables("安全费用表").LoadFilter > ""," where " & DataTables("安全费用表").LoadFilter,""))

 

然后拷贝生成的语句,在sql测试窗口测试,看报什么错 http://www.foxtable.com/webhelp/scr/1484.htm

 


--  作者:aza520
--  发布时间:2018/5/30 21:38:00
--  
.NET Framework 版本:2.0.50727.8830
Foxtable 版本:2017.12.18.1
错误所在事件:
详细错误信息:
缺少对象或列名,或者对象或列名为空。对于 SELEC T INTO 语句,请确保每列均具有名称。对于其他语句,请查找空的别名。不允许使用定义为 "" 或 [] 的别名。请将别名更改为有效名称。
缺少对象或列名,或者对象或列名为空。对于 SELEC T INTO 语句,请确保每列均具有名称。对于其他语句,请查找空的别名。不允许使用定义为 "" 或 [] 的别名。请将别名更改为有效名称。
\'Selec t * ,(Case When 数量 Is null Then 0 Else 数量 End) * (Case When 单价 Is null Then 0 Else 单价 End) As [金额] fro m [安全费用表]  \' 附近有语法错误。


--  作者:有点甜
--  发布时间:2018/5/30 21:52:00
--  

弹出什么?

 

msgbox("Select * ,(Case When 数量 Is null Then 0 Else 数量 End) * (Case When 单价 Is null Then 0 Else 单价 End) As [金额] from {安全费用表}  " & IIF(DataTables("安全费用表").LoadFilter > ""," where " & DataTables("安全费用表").LoadFilter,""))

 

你得到的sql语句是什么?


--  作者:aza520
--  发布时间:2018/5/31 10:11:00
--  
得到的语句是:
Selec t * ,(Case When 数量 Is null Then 0 Else 数量 End) * (Case When 单价 Is null Then 0 Else 单价 End) As [金额] from {安全费用表}

执行SQL得到下图:

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


--  作者:有点甜
--  发布时间:2018/5/31 10:15:00
--  
代码没有问题,如果出错,请做一个具体实例发上来测试。