Crystal 如果记录选择公式中有 GUID 列,报表将不会显示记录
Crystal Report won't display record if GUID column in Record Selection Formula
我有一个带有 GUID 列和 recordId(不是 guid)列的 table。我需要我的报告接受 GUID 作为报告参数,并将其用作记录选择公式的一部分,以确保报告只获得它需要的记录 ID。
[链接 Table] -> [详细信息包含 Table]
由于报告不支持直接传递 GUID 参数,我能够将 GUID 转换为字符串并顺利传递。当我在 Crystal Designer 中生成 SQL 查询时,它看起来不错: WHERE 子句格式正确,如果我 运行 在 SQL Designer 中生成查询,它将找到所有记录我需要取。然而,实际上尝试显示报告失败了,它指出尽管 SQL Profiler 也显示相同的 SQL 被触发,但仍找到了 0 条记录。
有人 运行 解决过这个问题吗?有没有办法让记录选择公式在实际显示报表时不删除记录?
在与 SAP 支持部门合作后,我们能够确定 14.0.11 中存在缺陷。 SQL 查询的格式正确,但记录 linking 在幕后使用了不同的(且不正确的)linking 顺序。由于数据库结果和内部架构以不同的起始表结束,Crystal 丢弃结果以防止异常。
前往 Database Expert -> Links -> Order Links 并检查 'Link Ordering is Enforced' 框强制引擎在整个报告中以正确的顺序使用相同的 link 排序。然后 SQL 查询和内部记录模式匹配,我们得到了记录。
我有一个带有 GUID 列和 recordId(不是 guid)列的 table。我需要我的报告接受 GUID 作为报告参数,并将其用作记录选择公式的一部分,以确保报告只获得它需要的记录 ID。
[链接 Table] -> [详细信息包含 Table]
由于报告不支持直接传递 GUID 参数,我能够将 GUID 转换为字符串并顺利传递。当我在 Crystal Designer 中生成 SQL 查询时,它看起来不错: WHERE 子句格式正确,如果我 运行 在 SQL Designer 中生成查询,它将找到所有记录我需要取。然而,实际上尝试显示报告失败了,它指出尽管 SQL Profiler 也显示相同的 SQL 被触发,但仍找到了 0 条记录。
有人 运行 解决过这个问题吗?有没有办法让记录选择公式在实际显示报表时不删除记录?
在与 SAP 支持部门合作后,我们能够确定 14.0.11 中存在缺陷。 SQL 查询的格式正确,但记录 linking 在幕后使用了不同的(且不正确的)linking 顺序。由于数据库结果和内部架构以不同的起始表结束,Crystal 丢弃结果以防止异常。
前往 Database Expert -> Links -> Order Links 并检查 'Link Ordering is Enforced' 框强制引擎在整个报告中以正确的顺序使用相同的 link 排序。然后 SQL 查询和内部记录模式匹配,我们得到了记录。