水晶报告:无法确定获取此报告数据所需的查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了水晶报告:无法确定获取此报告数据所需的查询相关的知识,希望对你有一定的参考价值。

我最近在会计系统更新后的一个水晶报告中遇到以下错误。

第一组:? - 答:无法打印此组部分,因为其条件字段不存在或无效。格式化该部分以选择另一个条件字段。

我已经验证了所使用的每个数据库字段,以确保它仍然存在以保持一致性并检查该部分的公式。没有骰子。所以为了解决问题,我使用Section专家删除了该部分。我运行相同的数据库检查。然后,它会为第5组抱怨同样的错误。所以我也删除它。

现在,当我尝试运行“显示查询”时,我遇到了一个新的异常错误。

错误是:“无法确定获取此报告数据所需的查询”

我试图登录/注销数据库并验证数据库。在我尝试运行之前没有投诉,显示查询。当我尝试运行报告时,它也会抛出相同的错误。

有任何想法吗?我接近这个错误吗?这是在水晶报告10中完成的。

注意:此报告与sql sa用户一起运行以消除任何权限问题。

答案

我想到了。我最终重建了整个报告,并将相同的字段重新插入到报告中,同时重建了分组。一旦我这样做并比较了多个链接,事实证明由于某种原因删除了一些表链接。

另一答案

同样的问题发生在我身上,并且是在表之间的关系中 看到Crystal Report中的关系,有些表没有关系:

  1. 右键单击数据库字段
  2. 选择数据库专家
  3. 单击“链接”选项卡
  4. 再次检查关系
  5. 祝好运
另一答案

这意味着定义组的字段不再在报表中。

要解决此问题,请右键单击该组并选择“更改组...”,然后选择相应的字段。

另一答案

对我来说,当查询有两个可能的起点时,就会出现此问题。如果你去数据库专家并检查链接的方向。您可能会发现链接并非都是从左到右(例如)。因此,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文件。 DatabaseExpert-Crystal Reports Clear Links

以上是关于水晶报告:无法确定获取此报告数据所需的查询的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 报告服务查询

水晶报告显示错误 --> 数据库连接器错误:“无法从服务器获取错误消息”

为水晶报表获取数据并在其中显示

Crystal报表中的动态列

水晶报告问题+甲骨文

无法打开水晶报表