水晶报告:无法确定获取此报告数据所需的查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了水晶报告:无法确定获取此报告数据所需的查询相关的知识,希望对你有一定的参考价值。
我最近在会计系统更新后的一个水晶报告中遇到以下错误。
第一组:? - 答:无法打印此组部分,因为其条件字段不存在或无效。格式化该部分以选择另一个条件字段。
我已经验证了所使用的每个数据库字段,以确保它仍然存在以保持一致性并检查该部分的公式。没有骰子。所以为了解决问题,我使用Section专家删除了该部分。我运行相同的数据库检查。然后,它会为第5组抱怨同样的错误。所以我也删除它。
现在,当我尝试运行“显示查询”时,我遇到了一个新的异常错误。
错误是:“无法确定获取此报告数据所需的查询”
我试图登录/注销数据库并验证数据库。在我尝试运行之前没有投诉,显示查询。当我尝试运行报告时,它也会抛出相同的错误。
有任何想法吗?我接近这个错误吗?这是在水晶报告10中完成的。
注意:此报告与sql sa用户一起运行以消除任何权限问题。
我想到了。我最终重建了整个报告,并将相同的字段重新插入到报告中,同时重建了分组。一旦我这样做并比较了多个链接,事实证明由于某种原因删除了一些表链接。
同样的问题发生在我身上,并且是在表之间的关系中 看到Crystal Report中的关系,有些表没有关系:
- 右键单击数据库字段
- 选择数据库专家
- 单击“链接”选项卡
- 再次检查关系
- 祝好运
这意味着定义组的字段不再在报表中。
要解决此问题,请右键单击该组并选择“更改组...”,然后选择相应的字段。
对我来说,当查询有两个可能的起点时,就会出现此问题。如果你去数据库专家并检查链接的方向。您可能会发现链接并非都是从左到右(例如)。因此,Crystal无法确定哪些查询开始。
我在非分组相关设置中遇到此错误。我的数据模型是这样的:
A -> B -> D
A -> C -> D
与->
是主要的细节关系。所以,实际上我使用实体D作为两个不同主人的细节,这在Crystal Reports中显然是不允许的。
因此,我更正了模型如下
A -> B -> D
A -> C*
通过将D的所有属性包含到C *中并在将数据提供给Crystal Reports时对数据进行非规范化。这正是运行时错误开始发生的时刻。但是,在我使用A和C *的报告中,我不能用相应的C *替换D的属性。因此,查询引擎试图到达来自C *的D中的属性,这些属性不起作用。
用C *中的新属性替换D中的属性修复了问题。
我也有同样的问题。我通过清除数据库专家中的链接来修复它。在.rpt文件> Field Explorer中右键单击数据Database Expert,在链接选项卡中单击Clear Links并保存rpt文件。
以上是关于水晶报告:无法确定获取此报告数据所需的查询的主要内容,如果未能解决你的问题,请参考以下文章