【问题标题】:Crystal Reports Data disappearing水晶报表数据消失
【发布时间】:2012-02-15 10:18:32
【问题描述】:

我目前正在设计水晶报表中的报表。 在标题中,我有标准字段,如日期/时间和一堆变量。在某些情况下,其中一个变量无法解析为任何内容(它为空)。 当该变量为空时,所有报告数据都会消失。

我尝试通过创建公式字段来欺骗 Crystal Reports,但再次失败!

有什么想法吗?

所有数据均来自 MySQL 数据库,导致问题的字段基于自定义查询(命令)。

实际查询:

SELECT `teacher_name` 
FROM `class_schedule` 
LEFT JOIN (`teacher`, `cs_class`) 
ON (`class_schedule`.`class_supporter`=`teacher`.`teacher_id` AND
    `cs_class`.`cs_id`=`class_schedule`.`cs_id`)
WHERE `class_id`={?classId}

【问题讨论】:

  • 您可能对该变量有一些选择标准。请注意,字段值有时可以为“null” - 这需要与“”(空)不同的处理。
  • 我已经检查过了。整个查询甚至没有链接到任何其他数据:(
  • @Ben:这个变量是如何设置的?可能是任何导致它被设置为空的东西也导致报告不返回任何数据。
  • @Ben 请告诉我们查询。
  • 我在上面发布了查询。我对我的 SQL 查询很有信心,但我只是不确定 CR 是如何根据报告评估它的。单独运行查询会给出正确的结果...

标签: crystal-reports crystal-reports-2008


【解决方案1】:

我根本没有使用过 MySQL。也就是说,我从未见过 LOJ 的构造,所以我质疑这种格式。如果我不知情,请原谅我的无知。

如果您有可用的 CR Developer,那么看看 CR 提出了什么查询可能会很有趣,我想跟踪会显示实际提交给 MySQL 的内容。

SELECT `teacher_name` 
FROM `class_schedule` cs
  LEFT outer JOIN `teacher` tch
    on `cs`.`class_supporter`=`tch`.`teacher_id` 
  Left outer join `cs_class` csc
    on `csc`.`cs_id`=`cs`.`cs_id`
WHERE `class_id`={?classId}

是我可以推荐尝试的最佳选择。

【讨论】:

    猜你喜欢
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多