我被要求在现有Crystal报表中添加“截至日期”。
我进入了SQL Server(管理工作室),并想出如何获得符合要求的单一日期。
然后我将SQL复制/粘贴到Crystal的“添加命令”框中。当我将该字段放在报表页脚中时,它是空的。回到SQL服务器,它仍然给出我期望的日期。
检查格式化属性 - 不是那样。
这是否有解决方法?
通常,我会将SQL作为存储过程或函数放在服务器中,但它是供应商提供的数据库,我不允许更改。出于同样的原因,不能使用分析器。
发现一篇博客文章,有人声称Crystal要求列名和别名(但不是表名)是双引号。发现很难相信,但我试过了。没有变化。
答案 0 :(得分:0)
如果存储过程在SQL Server Management Studio中成功运行
使用select和explicit声明字段名称而不是*
确保存储过程中的最终语句尝试验证数据库, 尝试在水晶报告中预览
答案 1 :(得分:0)
显然Crystal报表文件本身有问题。其他人在其他计算机上的此文件上获得相同的行为,但是当我们在其他文件中执行相同的操作时,它会起作用。
必须再次构建报告。长号。
答案 2 :(得分:0)
结果证明是Crystal Reposts的“特色”。
如果报告的详细信息部分的条件不显示任何记录,则Crystal将不会显示在其他部分中返回不相关查询的数据。
那是愚蠢的,所以一个例子:
如果报告是“本周所有索赔超过一百万美元”并且没有,那么Crystal也将拒绝呈现GETDATE()的输出。