Crystal中的SQL给出“空白”但在SQL Server中有效

时间:2012-03-06 22:49:18

标签: crystal-reports-2008

我被要求在现有Crystal报表中添加“截至日期”。

我进入了SQL Server(管理工作室),并想出如何获得符合要求的单一日期。

然后我将SQL复制/粘贴到Crystal的“添加命令”框中。当我将该字段放在报表页脚中时,它是空的。回到SQL服务器,它仍然给出我期望的日期。

检查格式化属性 - 不是那样。

这是否有解决方法?

通常,我会将SQL作为存储过程或函数放在服务器中,但它是供应商提供的数据库,我不允许更改。出于同样的原因,不能使用分析器。

发现一篇博客文章,有人声称Crystal要求列名和别名(但不是表名)是双引号。发现很难相信,但我试过了。没有变化。

3 个答案:

答案 0 :(得分:0)

如果存储过程在SQL Server Management Studio中成功运行

使用select和explicit声明字段名称而不是*

确保存储过程中的最终语句

尝试验证数据库, 尝试在水晶报告中预览

答案 1 :(得分:0)

显然Crystal报表文件本身有问题。其他人在其他计算机上的此文件上获得相同的行为,但是当我们在其他文件中执行相同的操作时,它会起作用。

必须再次构建报告。长号。

答案 2 :(得分:0)

结果证明是Crystal Reposts的“特色”。

如果报告的详细信息部分的条件不显示任何记录,则Crystal将不会显示在其他部分中返回不相关查询的数据。

那是愚蠢的,所以一个例子:

如果报告是“本周所有索赔超过一百万美元”并且没有,那么Crystal也将拒绝呈现GETDATE()的输出。