Foxtable(狐表)用户栏目专家坐堂 → 后台打印报表表达式错误


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

主题:后台打印报表表达式错误

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
后台打印报表表达式错误  发帖心情 Post By: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
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By: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 [安全费用表]  ' 附近有语法错误。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By: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
图片点击可在新窗口打开查看


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


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

代码没有问题,如果出错,请做一个具体实例发上来测试。

 回到顶部